서버 운영/서버 구축 꾸러미

XAMPP for Linux 4.3.5 설치 및 사용법

씨실과 날실 2019. 6. 5. 11:30

XAMPP 연재 마지막 시간으로 XAMPP for Linux를 설치하고 구동하는 방법에 대해 알아보도록 하겠습니다. 이 글을 준비하고 있는 시점, XAMPP 최신 버전은 4.3.5-1입니다.이것을 리눅스 컴퓨터에 설치하고 구동해보도록 하겠습니다.

기존 서버 중지

제 연재를 따라오신 분들은 이미 LAMP가 설치되어 있을 것입니다. 그러나 이것들을 각각 설치하여 서버를 구축하는 것 자체가 윈도 환경의 컴퓨터만 접해보셨을 초심자들에게 쉬운 일이 아닙니다. 그리고 LAMP에 대한 제반지식을 가지고 있는 중급 이상의 사용자들에게도 꽤나 번거로운 일이 아닐 수 없습니다. 이런 분들에게 로컬 환경에서 개발 혹은 테스트 서버를 손쉽게 구축할 수 있는 XAMPP 등은 하나의 대안이 될 수 있습니다.

지금까지 우리는 윈도용 XAMPP 인스톨러 버전과 포터블 버전의 사용법에 대해 알아보았습니다. 이제 Linux용 XAMPP 설치 및 사용법에 대해 알아보도록 하겠습니다. 참고로 macOS(=OS X)용 XAMPP는 제가 macOS(=OS X)를 사용할 수 없어 건너 뛰도록 하겠습니다. 해당 내용은 다른 유능한 분들의 글을 참고하시기 바랍니다.

PHP 7.2 중지

먼저 PHP를 중지해줍니다. 우분투 18.04를 사용하는 경우 저장소에 7.2가 올라가 있을 것입니다. 그런 경우 위 터미널 명령처럼 아래 명령을 입력해줍니다.

study@study-VirtualBox:~$ sudo a2dismod php7.2

그러면 아래와 같이 진행될 것입니다.

study@study-VirtualBox:~$ sudo a2dismod php7.2
[sudo] study의 암호: 
Module php7.2 disabled.
To activate the new configuration, you need to run:
  systemctl restart apache2
study@study-VirtualBox:~$ sudo systemctl restart apache2 
study@study-VirtualBox:~$ 

php 구동 중지 명령을 실행하면 위처럼 apache2를 재시작하라는 안내가 나옵니다. 저는 위 터미널 상자처럼 연재를 위해 apache2를 재시작 명령을 실행해주었습니다만 이따가 어차피 apache2 서버를 중지할 것이므로 굳이 재시작해줄 필요는 없습니다.

MariaDB 중지

study@study-VirtualBox:~$ sudo systemctl stop mariadb
위처럼 MariaDB도 중지해줍니다.

Apache 중지

study@study-VirtualBox:~$ sudo systemctl stop apache2
마지막으로 Apache2 서버를 중지해줍니다.

이것으로 서버 관련 프로그램들을 모두 중지해주었습니다.

XAMPP for Linux 설치

XAMPP for Linux 다운로드

이제 XAMPP for Linux의 최신 버전을 다운받아 보도록 합시다. 가장 먼저 최신 버전의 다운로드 링크를 알아야 합니다.

위 그림처럼 링크 주소를 복사해주시면 됩니다. 그러면 이 글을 작성 중인 시점을 기준으로 아래와 같은 주소가 클립보드에 복사됩니다.

https://www.apachefriends.org/xampp-files/7.3.5/xampp-linux-x64-7.3.5-1-installer.run

이것을 다운받고자 하는 디렉토리 아래에서 wget 다음에 붙여 넣기를 하여 실행해주시면 됩니다. 그러면 아래와 같이 진행이 됩니다.

study@study-VirtualBox:~$ cd ~/다운로드
study@study-VirtualBox:~/다운로드$ wget https://www.apachefriends.org/xampp-files/7.3.5/xampp-linux-x64-7.3.5-1-installer.run
--2019-05-30 18:18:06--  https://www.apachefriends.org/xampp-files/7.3.5/xampp-linux-x64-7.3.5-1-installer.run
중략
xampp-linux-x64-7.3 100%[=================>] 139.51M  10.7MB/s    in 14s     

2019-05-30 18:18:21 (10.3 MB/s) - ‘xampp-linux-x64-7.3.5-1-installer.run’ saved [146289715/146289715]

study@study-VirtualBox:~/다운로드$ 

퍼미션 정보 확인

이제 다운받은 파일의 정보를 확인해봅시다.

study@study-VirtualBox:~/다운로드$ ls -l
합계 310480
-rw-r--r-- 1 study study     76980  5월 16  2018 GeoData-REL1_31-96cda6b.tar.gz
-rw-rw-r-- 1 study study      5348 12월 10 11:55 LocalSettings.php
-rw-r--r-- 1 study study    643762  5월 27  2018 MinervaNeue-REL1_31-2e70e79.tar.gz
-rw-r--r-- 1 study study    836432  4월 18  2018 MobileFrontend-REL1_31-7f66849.tar.gz
-rw-r--r-- 1 study study     56760 12월  9 23:34 kboard-comments-wordpress-plugin-4.4.6.zip
-rw-r--r-- 1 study study   1287586 12월  9 23:33 kboard-wordpress-plugin-5.3.11.zip
-rw-r--r-- 1 study study  35260876  9월 21  2018 mediawiki-1.31.1.tar.gz
-rw-r--r-- 1 study study  36168475  1월 11 12:01 mediawiki-1.32.0.tar.gz
-rw-r--r-- 1 study study  49713609 10월 12  2018 nextcloud-14.0.3.tar.bz2
-rw-r--r-- 1 study study  36224830  1월 12 01:32 nextcloud-15.0.2.tar.bz2
-rw-r--r-- 1 study study    103890  1월 15 19:49 nextcloud-sqlbkp_20190115.bak
-rw-rw-r-- 1 study study     98190  1월 14 18:26 nextcloud.sql
-rw-r--r-- 1 study study  11090780  1월 10 19:00 wordpress-5.0.3-ko_KR.tar.gz
-rw-r--r-- 1 study study 146289715  5월 17 01:36 xampp-linux-x64-7.3.5-1-installer.run
study@study-VirtualBox:~/다운로드$ 

위처럼 다운받은 디렉토리에서 ls -l 명령을 실행하면 위처럼 같은 디렉토리 안에 있는 파일의 퍼미션 정보, 소유자 등 각종 정보를 확인할 수 있습니다. 우리가 확인해야 할 파일은 당연히 방금 다운받은 XAMPP 파일입니다.

우리는 xampp-linux-x64-7.3.5-1-installer.run 파일을 다운받았습니다. 다운받은 직후의 퍼미션 정보는

rw-r--r--입니다. 이것을 퍼미션 숫자 정보로 변환하면 644입니다. 이 상태에서는 해당 파일을 실행할 수 없습니다. 퍼미션을 바꿔주도록 합시다.

XAMPP for Linux 퍼미션 설정

study@study-VirtualBox:~/다운로드$ sudo chmod 755 xampp-linux-x64-7.3.5-1-installer.run 
위와 같이 실행해줍니다.

이제 XAMPP for Linux의 퍼미션이 제대로 바뀌었는지 확인해봅시다.

study@study-VirtualBox:~/다운로드$ ls -l xampp-linux-x64-7.3.5-1-installer.run
-rwxr-xr-x 1 study study 146289715  5월 17 01:36 xampp-linux-x64-7.3.5-1-installer.run
study@study-VirtualBox:~/다운로드$ 
rwxr-xr-x를 퍼미션 숫자값으로 바꾸면 755가 됩니다. 따라서 잘 바뀌었습니다.

XAMPP for Linux 설치

study@study-VirtualBox:~/다운로드$ sudo ./xampp-linux-x64-7.3.5-1-installer.run

위 명령을 실행하여 설치를 진행합니다. 그러면 아래 그림과 같이 Setup창이 뜨면서 설치가 진행됩니다.

XAMPP 셋업 마법사에 온 것을 환영하는 문구가 나옵니다. Next 버튼을 눌러 다음 단계로 넘어갑니다.

설치할 구성요소를 선택하는 부분입니다. XAMPP 핵심 파일과 개발자용 파일로 나뉘어 있습니다. XAMPP를 사용하려면 Core Files는 당연히 설치하셔야겠지요. 전문 개발자가 아니라면 Core Files만으로도 충분하겠지만 개인적으로 Developer Files도 같이 설치할 것을 추천합니다.

저장장치가 대용화되고 있는 요즘 추가 용량은 부담이 되지 않을 것입니다. 그리고 서버에 대해 보다 깊게 공부한면 XAMPP의 Developer Files들은 여러분들에게 유용한 도구가 될 것입니다.

설치 구성요소를 선택하고 Next 버튼을 눌러 다음 단계로 넘어갑니다.

XAMPP 설치 디렉토리 안내입니다. XAMPP는 다른 프로그램과 달리 설치 디렉토리를 변경할 수 없습니다. 설치 디렉토리는 /opt/lampp입니다.

내용을 확인하시고 Next 버튼을 눌러 다음 단계로 넘어갑니다.

역시 내용을 확인하시고 Next 버튼을 눌러 다음 단계로 넘어갑니다.

참고로 Learn more about Bitnami for XAMPP항목에 체크를 하고 설치를 진행하여도 추가 정보와 관련한 창이 뜨지 않았습니다.

인스톨을 시작할 준비가 되었다고 하네요. Next 버튼을 눌러 다음 단계로 넘어갑니다.

위 그림처럼 인스톨 과정 진도를 보여줍니다.

인스톨 과정이 모두 완료가 되면 위와 같은 창이 뜹니다. Finish 버튼을 눌러 설치 과정을 종료해주시면 됩니다.

만약 위 창에서 Launch XAMPP에 체크하고 Finish 버튼을누르면 XAMPP 매니저 프로그램이 실행됩니다.

XAMPP for Linux Manager 사용법

XAMPP Manager가 실행되면 위와 같은 창이 뜹니다. Welcome 탭 화면입니다.

Go to Application

Go to Application 버튼을 누르면 위와 같은 창이 뜹니다. 이것은 아직 서버가 구동되어 있지 않아 뜨는 것입니다.

Start Servers 버튼을 누르면 위 화면과 같은 과정을 거친 후 XAMPP의 서버 프로그램들이 구동됩니다. 구동 여부는 아래와 같이 Manage Servers 탭에서 확인할 수 있습니다.

Open Application Folder

Open Application Folder을 누르면 아래와 같이 XAMPP의 폴더 내용을 확인할 수 있습니다.

Visit Apache Friends

Visit Apache Friends 버튼을 누르면 본래 XAMPP의 공식 사이트인 Apache Friends(https://www.apachefriends.org/)에 접속할 수 있어야 하는데 아무런 반응이 없습니다.

Get Started

Get Started도 Visit Apache Friends와 마찬가지로 아무런 반응이 없습니다. 따라서 Visit Apache Friends와 Get Started 버튼은 무시하시기 바랍니다.

서버 구동

Manage Servers 탭이 서버 프로그램들을 관리하는 부분입니다. 굉장히 직관적이므로 따로 설명하지 않아도 사용법을 알 수 있을 정도입니다.

구동하고자 하는 프로그램을 선택 후 우측의 Start 버튼을 누르면 위 그림처럼 녹색불이 들어오며 상태가 running으로 바뀌게 됩니다.

하단의 Start All 버튼을 누르면 MySQL(= MariaDB), ProFTPD, Apache 이 세 개가 모두 구동이 됩니다.

서버 설정

Apache

위 그림처럼 Apache를 선택하고 Configure 버튼을 눌러줍니다.

그러면 위 그림과 같이 조그마한 설정창이 뜹니다. 여기를 보면 Port를 변경할 수 있고, Access Log와 Error Log를 확인할 수 있으며 Apache의 설정 파일을 열어 수정할 수 있습니다.

Port

일반적으로 아파치를 포함하여 일반적인 웹서버의 포트 번호는 80입니다. 포트번호가 80인 경우는 주소창에 도메인만 적어주면 바로 접속할 수 있습니다.

그러나 보안 등 여러 이유로 포트 번호를 변경할 수 있는데 만약 포트번호를 변경한 경우 도메인 주소 뒤에 쌍점(:)을 찍고 뒤에 포트번호를 적어주어야 접속할 수 있습니다.

위 그림처럼 포트번호를 80에서 8080으로 수정하고 OK버튼을 누른 후 브라우저 주소창에 아래와 같이 입력해봅시다.

http://localhost:8080

그러면 아래와 같이 접속됩니다.

포트번호를 변경한 후 포트번호를 붙잊 않고 그냥 http://localhost만 입력한다면 아래와 같이 오류가 뜹니다.

Log

Access Log와 Error Log 버튼은 각각 서버 접속 로그와 서버 구동시 발생하는 오류 로그를 확인할 수 있는 버튼입니다. 각 버튼을 누르면 해당 로그 파일이 gedit로 열리게 되어 내용을 확인할 수 있습니다.

Conf File

조그마한 설정창에서 Open Conf File 버튼을 누르면 위 그림과 같이 안내창이 뜹니다. 설정 파일을 수동으로 편집하는 것은 고급 사용자를 위한 기능이며, 해당 설정 파일에 오류가 생기면 서버 서비스 작동이 되지 않는다고 알려주고 있습니다. 정말로 계속하기를 원하냐고 묻습니다. Yes 버튼을 눌러줍니다.

그러면 위와 같이 Apache 설정 파일인 httpd.conf 파일이 열리며 여러분들이 수정할 수 있게 됩니다

MySQL(= MariaDB)

위 그림처럼 MySL을 선택하고 우측의 Configure 버튼을 눌러줍니다.

그러면 위 그림처럼 조그마한 설정창이 뜹니다.

Port

MySQL(= MariaDB)의 일반적인 Port 번호는 3306입니다. 원하는 포트번호로 바꿀 수 있습니다. 

Log

Open Log 버튼을 누르면 MySQL(= MariaDB)의 pid 번호를 확인할 수 있습니다.

Conf File

Open Conf File 버튼을 누르면 Apache 떄와 똑같은 확인창이 뜹니다. Yes 버튼을 눌러줍니다.

그러면 MySQL(=MariaDB)의 설정 파일인 my.cnf 파일이 열립니다. 사용자가 구미에 맞게 설정을 변경해주시면 됩니다.

ProFTPD

ProFTPD의 경우는 설정 버튼이 비활성화되어 있어 설정할 수 없습니다.

XAMPP Log

Application log 탭을 누르면 위 그림과 같이 XAMPP의 활동 내용을 확인할 수 있습니다.

XAMPP 서버 구동 후 localhost 화면

XAMPP를 구동 후 localhost에 접속하면 위와 같은 화면을 보실 수 있습니다.

PHPInfo

화면 최상단의 PHPInfo를 누르면 PHP 버전과 설정값을 확인할 수 있습니다.

phpMyAdmin

phpMyAdmin을 누르면 위 화면을 볼 수 있습니다. 언어 기본값은 영어입니다. 이 언어 설정을 한국어로 바꾸면 아래와 같이 바뀌게 됩니다.

초심자는 한국어로 바꾸는 것이 편하겠지만 문제가 발생하여 해결을 하기 위해서는 영어로 설정하는 것이 좋습니다. 영어로 나오는 각종 구문을 구글에서 검색하면 해결책을 손쉽게 찾을 수 있습니다.

위 화면은 제가 호스트에서 가상 머신 내 로컬호스트에 접속한 화면입니다. 그러나 이 상태에서 phpMyAdmin에 접속하면 아래와 같은 화면을 보시게 됩니다.

이유는 XAMPP가 외부에서 phpMyAdmin에 접속하는 것을 막고 있기 때문입니다. 따라서 가상머신 내 phpMyAdmin을 사용하려면 게스트 컴퓨터의 브라우저를 이용해야 합니다.

XAMPP Manager 실행과 종료

실행

Nautilus를 관리자(root) 권한으로 실행한 후 /opt/lampp에 들어가 위 그림처럼 manager-linux-x64.run을 실행해주거나, 터미널에서 아래와 같은 명령을 실행해줍니다.

study@study-VirtualBox:~$ sudo /opt/lampp/manager-linux-x64.run

종료

먼저 모든 서버 프로그램을 중지해줍니다.

그 다음 창 최우상단의 X버튼을 눌러줍니다. 그러면 위 그림과 같은 안내창이 뜨는데 Yes 버튼을 눌러줍니다.

터미널을 통한 XAMPP 구동

XAMPP for Linux 실행과 종료

study@study-VirtualBox:~$ sudo /opt/lampp/lampp start

위 명령을 실행해주면 XAMPP가 구동하게 됩니다.

study@study-VirtualBox:~$ sudo /opt/lampp/lampp start
Starting XAMPP for Linux 7.3.5-1...
XAMPP: Starting Apache.../opt/lampp/share/xampp/xampplib: 줄 22: netstat: 명령어를 찾을 수 없음
/opt/lampp/share/xampp/xampplib: 줄 22: netstat: 명령어를 찾을 수 없음
ok.
XAMPP: Starting MySQL.../opt/lampp/share/xampp/xampplib: 줄 22: netstat: 명령어를 찾을 수 없음
ok.

그러나 위처럼 오류가 나오는 경우가 있습니다. 그것은 net-tools가 설치되어 있지 않기 때문에 나타나는 오류입니다.

study@study-VirtualBox:~$ sudo apt install net-tools

위처럼 명ㄹ형을 실행하여 net-tools를 설치해줍니다.

study@study-VirtualBox:~$ sudo /opt/lampp/lampp start
[sudo] study의 암호: 
Starting XAMPP for Linux 7.3.5-1...
XAMPP: Starting Apache...ok.
XAMPP: Starting MySQL...ok.
study@study-VirtualBox:~$ 

그후에 다시 구동해보면 위처럼 문제없이 구동되는 것을 확인할 수 있습니다.

study@study-VirtualBox:~$ sudo /opt/lampp/lampp stop
Stopping XAMPP for Linux 7.3.5-1...
XAMPP: Stopping Apache...ok.
XAMPP: Stopping MySQL...ok.
study@study-VirtualBox:~$  

터미널로 실행한 XAMPP를 종료하려면 위처럼 명령을 실행해주면 됩니다.

기존 서버 재시작

Apache 재시작

study@study-VirtualBox:~$ sudo systemctl start apache2


MariaDB 재시작

study@study-VirtualBox:~$ sudo systemctl start mariadb

위처럼 MariaDB도 재시작해줍니다.

PHP 7.2 재시작

study@study-VirtualBox:~$ sudo a2enmod php7.2

그러면 아래와 같이 진행될 것입니다.

study@study-VirtualBox:~$ sudo a2enmod php7.2
Considering dependency mpm_prefork for php7.2:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php7.2:
Enabling module php7.2.
To activate the new configuration, you need to run:
  systemctl restart apache2
study@study-VirtualBox:~$

PHP가 재시작되면 이 설정값을 적용하기 위해 apache를 재시작해주어야 합니다.

study@study-VirtualBox:~$ sudo systemctl restart apache2
localhost에 다시 접속해봅시다.

이런 식으로 기존 서버 localhost의 인덱스(index) 파일이 뜨면 정상입니다.

그러나 위 그림처럼 창이 뜨면서 localhost에 접속되지 않는 경우가 있습니다.

이런 경우 위 그림처럼 각 브라우저의 캐시 등을 삭제해주시면 됩니다. 그 후 다시 접속해주시면 문제없이 접속될 것입니다.