서버 설정 · 4 min read · Dec 28, 2025

Ubuntu 15.10 LAMP 서버 튜토리얼: Apache 2.4, PHP 5 및 MariaDB (MySQL 대신)

LAMP는 L inux, A pache, M ySQL, P HP의 약자입니다. 이 튜토리얼에서는 Ubuntu 15.10 (Wiley Werewolf) 서버에 PHP 5.6 (mod_php) 및 MySQL 지원과 함께 Apache 2 웹 서버를 설치하는 방법을 보여줍니다. 또한 MySQL 관리를 쉽게 하기 위해 PHPMyAdmin을 설치할 것입니다. LAMP 설정은 Joomla, Wordpress 또는 Drupal과 같은 CMS 시스템의 완벽한 기반입니다.

사전 참고

이 튜토리얼에서는 호스트 이름 server1.example.com과 IP 주소 192.168.1.100을 사용할 것입니다. 이러한 설정은 여러분의 경우 다를 수 있으므로 적절한 곳에서 교체해야 합니다.

튜토리얼의 기초로 최소한의 Ubuntu 서버 설정을 사용하는 것이 좋습니다. 이는 웹 호스팅 회사에서 제공하는 Ubuntu 15.10 최소 설치가 포함된 가상 또는 루트 서버 이미지일 수 있으며, 또는 우리의 최소 서버 튜토리얼을 사용하여 처음부터 서버를 설치할 수 있습니다.

저는 이 튜토리얼의 모든 단계를 루트 권한으로 실행하고 있으므로 루트로 로그인했는지 확인하세요:

sudo su

MySQL 대체로서 MariaDB 설치

MySQL 대신 MariaDB를 설치할 것입니다. MariaDB는 원래 MySQL 개발자인 Monty Widenius가 유지 관리하는 MySQL 포크입니다. MariaDB는 MySQL과 호환되며 MySQL과 비교할 때 흥미로운 새로운 기능과 속도 향상을 제공합니다. 다음 명령을 실행하여 MariaDB-server 및 클라이언트를 설치합니다:

apt-get -y install mariadb-server mariadb-client

이제 MariaDB의 루트 비밀번호를 설정합니다.

mysql_secure_installation

다음 질문이 표시됩니다:

Enter current password for root (enter for none): <-- press enter  
Set root password? [Y/n] <-- y  
New password: <-- Enter the new MariaDB root password here  
Re-enter new password: <-- Repeat the password  
Remove anonymous users? [Y/n] <-- y  
Disallow root login remotely? [Y/n] <-- y  
Reload privilege tables now? [Y/n] <-- y

“mysql 명령”을 사용하여 MariaDB에 로그인 테스트를 합니다.

mysql -u root -p

그리고 위에서 설정한 MariaDB 루트 비밀번호를 입력합니다. 결과는 아래 스크린샷과 유사해야 합니다:

MariaDB 로그인 테스트

MariaDB 셸을 종료하려면 “quit” 명령을 입력하고 Enter를 누릅니다.

Apache 2.4 설치

Apache 2는 Ubuntu 패키지로 제공되므로 다음과 같이 설치할 수 있습니다:

apt-get -y install apache2

이제 브라우저를 http://192.168.1.100으로 이동하면 Apache2 기본 페이지(작동 중!)를 볼 수 있습니다:

Apache 2.4 기본 페이지

Apache 기본 vhost의 문서 루트는 Ubuntu에서 /var/www/html이며, 주요 구성 파일은 /etc/apache2/apache2.conf입니다. 구성 시스템은 /usr/share/doc/apache2/README.Debian.gz에 완전히 문서화되어 있습니다.

PHP 5.6 설치

다음과 같이 PHP 5.6 및 Apache PHP 모듈을 설치할 수 있습니다:

apt-get -y install php5 libapache2-mod-php5

그런 다음 Apache를 재시작합니다:

systemctl restart apache2

PHP 테스트 및 PHP 설치에 대한 세부정보 가져오기

기본 웹 사이트의 문서 루트는 /var/www/html입니다. 이제 해당 디렉토리에 작은 PHP 파일(info.php)을 만들고 브라우저에서 호출합니다. 이 파일은 설치된 PHP 버전과 같은 PHP 설치에 대한 유용한 세부정보를 표시합니다.

nano /var/www/html/info.php

그런 다음 info.php 파일의 소유자를 www-data 사용자 및 그룹으로 변경합니다.

chown www-data:www-data /var/www/html/info.php

이제 브라우저에서 해당 파일을 호출합니다(예: http://192.168.1.100/info.php):

PHP 5.6 phpinfo 화면

보시다시피, PHP5가 작동하고 있으며, 서버 API 줄에 표시된 대로 Apache 2.0 핸들러를 통해 작동하고 있습니다. 아래로 스크롤하면 PHP5에서 이미 활성화된 모든 모듈을 볼 수 있습니다. MySQL은 거기에 나열되어 있지 않으므로 PHP에서 MySQL / MariaDB 지원이 아직 없습니다.

PHP에서 MySQL / MariaDB 지원 받기

PHP에서 MySQL 지원을 받으려면 php5-mysqlnd 패키지를 설치할 수 있습니다. 저는 구형 php5-mysql 패키지 대신 새로운 MySQL 드라이버 패키지인 php5-mysqlnd를 설치할 것입니다. 구형 드라이버는 MariaDB와 함께 사용할 때 MySQL 라이브러리 버전 불일치에 대한 오류 메시지를 표시합니다. 애플리케이션에 필요할 수 있는 다른 PHP5 모듈도 설치하는 것이 좋습니다. 다음과 같이 사용 가능한 PHP5 모듈을 검색할 수 있습니다:

apt-cache search php5

필요한 모듈을 선택하고 다음과 같이 설치합니다:

apt-get -y install php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

이제 Apache2를 재시작합니다:

systemctl restart apache2

PHP 속도를 높이기 위해 APCu PHP 캐시 설치

APCu는 PHP 중간 코드를 캐시하고 최적화하기 위한 무료 PHP opcode 캐셔입니다. PHP 페이지의 속도를 높이기 위해 이러한 것 중 하나를 설치하는 것이 강력히 권장됩니다.

APCu는 다음과 같이 설치할 수 있습니다:

apt-get install php5-apcu

이제 Apache를 재시작합니다:

systemctl restart apache2

이제 브라우저에서 http://192.168.1.100/info.php를 새로 고치고 다시 모듈 섹션으로 스크롤합니다. 이제 많은 새로운 모듈을 찾을 수 있어야 합니다:

PHP 5.6의 APCu

더 이상 필요하지 않으면 info.php 파일을 삭제하는 것을 잊지 마세요. 이 파일은 서버의 민감한 세부정보를 제공합니다. 파일을 삭제하려면 다음 명령을 실행합니다.

rm -f /var/www/html/info.php

Apache에서 SSL 웹사이트 활성화

SSL/TLS는 웹 브라우저와 서버 간의 연결을 암호화하는 보안 계층입니다. https:// 지원을 활성화하려면 서버에서 다음 명령을 실행합니다. 실행:

a2enmod ssl  
a2ensite default-ssl

이는 ssl 모듈을 활성화하고 /etc/apache2/sites-available/default-ssl.conf 파일에 대한 심볼릭 링크를 /etc/apache2/sites-enabled 폴더에 추가하여 활성 Apache 구성에 포함시킵니다. 그런 다음 새로운 구성을 활성화하기 위해 Apache를 재시작합니다:

systemctl restart apache2

이제 웹 브라우저에서 https://192.168.1.100을 열어 SSL 연결을 테스트합니다.

신뢰되지 않는 SSL 연결 경고

서버의 SSL 인증서가 “자체 서명된” SSL 인증서이므로 SSL 경고가 표시됩니다. 이는 브라우저가 기본적으로 이 인증서를 신뢰하지 않으며 먼저 보안 경고를 수락해야 함을 의미합니다. 경고를 수락한 후 Apache 기본 페이지를 볼 수 있습니다.

SSL 모드에서의 Apache 2.4 기본 페이지

브라우저의 URL 앞에 있는 닫힌 “녹색 자물쇠”는 연결이 암호화되었음을 나타냅니다. SSL 경고를 없애려면 자체 서명된 SSL 인증서 /etc/ssl/certs/ssl-cert-snakeoil.pem을 SSL 기관에서 공식적으로 서명된 SSL 인증서로 교체하십시오.

phpMyAdmin 설치

phpMyAdmin은 MySQL 데이터베이스를 관리할 수 있는 웹 인터페이스입니다. 설치하는 것이 좋습니다:

apt-get -y install phpmyadmin

다음 질문이 표시됩니다:

Web server to configure automatically: <-- Select the option: apache2  
Configure database for phpmyadmin with dbconfig-common? <-- Yes  
Password of the database's administrative user: <-- Enter the MariaDB root password  
MySQL application password for phpmyadmin: <-- Press enter, apt will create a random password automatically.  
Web server to reconfigure automatically: <-- apache2

다음은 스크린샷으로 된 답변 순서입니다:

PHPMyAdmin 설치 - 단계 1

PHPMyAdmin 설치 - 단계 2

PHPMyAdmin 설치 - 단계 3

PHPMyAdmin 설치 - 단계 4

MariaDB는 기본적으로 루트 사용자에 대해 “unix_socket”라는 플러그인을 활성화합니다. 이 플러그인은 루트 사용자가 PHPMyAdmin에 로그인할 수 없도록 하며, 루트 사용자에 대한 MySQL의 TCP 연결이 작동하지 않도록 합니다. 따라서 다음 명령으로 해당 플러그인을 비활성화하겠습니다:

echo "update user set plugin='' where User='root'; flush privileges;" | mysql --defaults-file=/etc/mysql/debian.cnf mysql

그 후 http://192.168.1.100/phpmyadmin/에서 phpMyAdmin에 접근할 수 있습니다:

PHPMyAdmin 설치 - 로그인

PHPMyAdmin 설치 - 인덱스 페이지

링크

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.