Ubuntu 16.04에 APM 설치하기를 쓴지 수년이 지났고, 그 글과 달라진 부분도 약간 있어서 그 글을 보면서 Ubuntu 24.04에 APM을 설치하려고 했더니 헷갈려서 아예 새로 글을 써본다.
1. Ubuntu 24.04 업데이트
우선 아래와 같은 명령으로 Ubuntu 24.04를 업데이트 한다.
$ sudo apt update $ sudo apt upgrade
2. 아파치 설치
APM 설치의 첫 단계는 아파치 서버를 설치하는 것이다. 아래의 명령으로 아파치 서버를 설치한다.
$ sudo apt install apache2
설치가 끝나면 아파치 서버가 자동으로 시작되는데, 잘 작동하는지 아래의 명령으로 확인한다.
$ apache2 -v
정상적으로 동작하고 있다면 아래와 같이 아파치 버전이 표시된다.
정상 동작중이라면 홈페이지에 접속할 수 있다. 웹브라우저를 열고 주소창에 Ubuntu가 설치된 컴퓨터의 IP주소나 localhost를 쳐서 접속해본다.
위 그림에 빨간 원으로 표시한 것처럼 홈페이지의 Ubuntu 절대 경로가 나타난다. Ubuntu는 ‘/var/www/html’이 기본 경로이다.
* rewrite 모듈을 꼭 활성화시킬 것. 아래와 같이 하면 된다.
$ sudo a2enmod rewrite.load
3. MySQL 설치
다음 단계로 MySQL을 설치한다.
오픈소스로 개발되던 MySQL이 Oracle로 넘어가면서 라이센스에 문제가 생기면서 MariaDB가 포크되어 개발되고 있는데, 오픈소스로 계속되고 있으며 MariaDB를 설치해도 아래 과정은 거의 동일한 것 같다.
아래의 명령으로 MySQL을 설치한다.
$ sudo apt install mysql-server
설치가 정상적으로 끝나면 버전 확인 명령으로 정상 작동하는지 확인한다.
$ sudo mysql --version
정상적으로 동작하고 있다면 MySQL의 버전이 표시된다.
위와 같이 잘 동작하고 있으면 최우선적으로 root 사용자의 비밀번호를 설정해야한다. 비밀번호 설정을 위해 아래와 같이 해서 MySQL로 접속한다.
$ sudo mysql -u root -p
위와 같이 하면 비밀번호를 입력하라고 나오는데 초기 비밀번호가 설정되어있지 않으므로 그냥 엔터를 쳐서 MySQL로 들어간다.
MySQL 프롬프트가 나오면 아래의 명령을 차례대로 입력해서 비밀번호를 바꾸고 빠져나온다.
alter user 'root'@'localhost' identified with mysql_native_password by '비밀번호'; flush privileges; quit
이렇게 하면 root로도 MySQL에 접속하려면 설정한 비밀번호를 입력해야 접속할 수 있다.
4. PHP 설치
이제 PHP를 설치한다.
아래의 명령으로 PHP와 PHP 모듈을 설치한다.
$ sudo apt install php php-common php-mysql php-curl php-zip php-gd php-mbstring php-imagick php-intl php-xml
정상적으로 설치됐는지 확인하기 위해 다음과 같이 해본다.
$ php -v
아래와 같이 PHP 파일을 하나 만들어서 PHP의 설치 정보를 확인해본다.
$ sudo vi /var/www/html/info.php
vi 에디터로 /var/www/html 폴더에 info.php라는 파일을 만들고, 아래와 같이 입력한다.
<?php phpinfo(); ?>
파일을 저장하고 나온다음 웹브라우저에서 localhost/info.php를 입력하면 현재 설치된 PHP 정보가 화면에 표시된다.
위의 정보 중 DATE 섹션에서 Default timezone이 Asia/Seoul이 아니고 UTC 또는 다른 이름으로 나오는 경우 PHP 설정파일인 php.ini 파일을 수정해서 타임존을 설정해야 한다.
$ sudo vi /etc/php/8.3/apache2/php.ini
vi를 열고 ‘/’를 누르고 ‘timezone’이라고 쳐서 ‘;date.timezone =’이라는 문자열을 찾는다.
;date.timezone =
제일 앞에 있는 세미콜론(;)을 제거하고 뒤에 = 뒤에 한 칸 띄고 “Asia/Seoul” 이라고 입력하고 저장하고 나온다.
date.timezone = "Asia/Seoul"
PHP 기본 업로드 용량이 2MB라서 부족할 수 있으므로 아래의 순서로 해서 용량을 늘린다.
php.ini 파일을 열어서 다음의 다섯 항목을 수정한다.
upload_max_filesize = 2M ; upload_max_filesize를 찾아서 아래와 같이 원하는 크기로 바꾼다(MB 단위). upload_max_filesize = 100M
post_max_size = 8M ; post_max_size를 찾아서 아래와 같이 원하는 크기로 바꾼다(MB 단위). post_max_size = 100M
max_execution_time = 30 ; 대용량 업로드 시 시간이 많이 걸릴 수 있으므로 시간 여유를 주기 위해 이 값을 바꾼다(초단위). max_execution_time = 180
max_input_time = 60 ; 대용량 업로드 시 시간이 많이 걸릴 수 있으므로 시간적 여유를 주기 위해 이 값을 바꾼다(초단위). max_input_time = 180
memory_limit = 128M ; 이 프로세스를 처리하는데 사용할 메모리를 적당히 늘려준다(MB 단위). memory_limit = 256M
수정한 내용을 저장하고 나와서 아파치를 다시 시작한다.
$ sudo systemctl reload apache2
이제 위의 웹페이지를 다시 로드해서 타임존이 정상적으로 설정되었는지 확인하고, 보안을 위해 info.php 파일은 삭제한다.
5. PhpMyAdmin 설치
다음으로 MySQL 관리를 위해 PhpMyAdmin을 설치한다.
아래의 명령으로 PhpMyAdmin을 설치한다.
$ sudo apt install phpmyadmin
설치하는 중에 다음과 같은 화면이 나오면 apache2를 선택하고 <Ok>를 누른다.
다음 화면에서 <Yes>를 선택한다.
다음 화면에서 PhpMyAdmin 계정의 비밀번호를 입력한다.
비밀번호를 다시 한 번 입력한다.
설치가 끝나면 Apache 설정을 수정하기위해 아래와 같이 한다.
$ sudo vi /etc/apache2/apache2.conf
vi 에디터로 파일이 열리면 맨 끝에 아래의 내용을 추가한다.
# Enable PhpMyAdmin Include /etc/phpmyadmin/apache.conf
파일을 저장한 후 에디터를 끝내고, 아래와 같이 해서 PhpMyAdmin 설정 파일을 만든다.
$ cd /usr/share/phpmyadmin $ sudo cp config.sample.inc.php config.inc.php
아파치 서버를 다시 시작한다.
$ sudo systemctl restart apache2
이제 웹브라우저에서 localhost/phpmyadmin에 접속해본다.
MySQL에서 설정한 root와 root의 비밀번호를 입력하고 로그인하면 본화면으로 들어갈 수 있다.
핑백:Ubuntu 16.04에 Apache, MySQL, PHP 설치하기 - 새우의 세상사