웹사이트 검색

Apache 2.4, PHP 5 및 MariaDB(MySQL 대신)를 사용하는 Ubuntu 15.10 LAMP 서버 자습서


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • Ubuntu 14.04 LTS(Trusty Tahr)

이 페이지에서

  1. 서문
  2. MySQL 대체품으로 MariaDB 설치\n
  3. Apache 2.4 설치
  4. PHP 5.6 설치
  5. PHP를 테스트하고 PHP 설치에 대한 세부 정보 얻기\n
  6. PHP에서 MySQL/MariaDB 지원 받기
  7. APCu PHP 캐시를 설치하여 PHP 속도 향상\n
  8. Apache에서 SSL 웹사이트 활성화\n
  9. phpMyAdmin 설치
  10. 링크

LAMP는 Linux, Apache, MySQL, PHP의 약자입니다. 이 튜토리얼은 PHP 5.6(mod_php) 및 MySQL 지원을 통해 Ubuntu 15.10(Wiley Werewolf) 서버에 Apache 2 웹 서버를 설치하는 방법을 보여줍니다. 또한 MySQL 관리를 더 쉽게 하기 위해 PHPMyAdmin을 설치하겠습니다. LAMP 설정은 Joomla, Wordpress 또는 Drupal과 같은 CMS 시스템의 완벽한 기반입니다.

서문

이 자습서에서는 호스트 이름 server1.example.com을 IP 주소 192.168.1.100과 함께 사용합니다. 이러한 설정은 사용자에 따라 다를 수 있으므로 적절하게 교체해야 합니다.

가이드의 기초로 최소 Ubuntu 서버 설정을 사용하는 것이 좋습니다. 웹 호스팅 회사에서 Ubuntu 15.10 최소 설치가 포함된 가상 또는 루트 서버 이미지이거나 최소 서버 가이드를 사용하여 처음부터 서버를 설치할 수 있습니다.

루트 권한으로 이 튜토리얼의 모든 단계를 실행하고 있으므로 루트로 로그인했는지 확인하십시오.

sudo su

MariaDB를 MySQL 대체품으로 설치

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

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 command"를 사용하여 MariaDB에 대한 로그인을 테스트합니다.

mysql -u root -p

위에서 설정한 MariaDB 루트 암호를 입력합니다. 결과는 아래 스크린샷과 유사해야 합니다.

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

아파치 2.4 설치

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

apt-get -y install apache2

이제 브라우저에서 http://192.168.1.100으로 이동하면 Apache2 기본 페이지가 표시됩니다(작동합니다!).

Apache 기본 가상 호스트의 문서 루트는 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
<?php
phpinfo();
?>

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

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

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

보시다시피 PHP5는 작동 중이며 서버 API 라인에 표시된 것처럼 Apache 2.0 핸들러를 통해 작동합니다. 더 아래로 스크롤하면 PHP5에서 이미 활성화된 모든 모듈이 표시됩니다. MySQL은 목록에 없습니다. 즉, 아직 PHP에서 MySQL/MariaDB를 지원하지 않습니다.

PHP에서 MySQL/MariaDB 지원 받기

PHP에서 MySQL 지원을 받으려면 php5-mysqlnd 패키지를 설치할 수 있습니다. 이전 드라이버는 MariaDB와 함께 사용할 때 MySQL 라이브러리 버전 불일치에 대한 오류 메시지를 표시하므로 이전 php5-mysql 패키지 대신 여기에 새 MySQL 드라이버 패키지 php5-mysqlnd를 설치하겠습니다. 다른 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를 다시 로드하고 모듈 섹션으로 다시 스크롤하십시오. 이제 거기에서 많은 새 모듈을 찾을 수 있습니다.

info.php 파일은 서버의 민감한 정보를 제공하므로 더 이상 필요하지 않을 때 삭제하는 것을 잊지 마십시오. 다음 명령을 실행하여 파일을 삭제합니다.

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

아파치에서 SSL 웹사이트 활성화

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

a2enmod ssl
a2ensite default-ssl

SSL 모듈을 활성화하고 /etc/apache2/sites-enabled 폴더의 심볼릭 링크를 /etc/apache2/sites-available/default-ssl.conf 파일에 추가하여 활성 Apache 구성에 포함합니다. 그런 다음 Apache를 다시 시작하여 새 구성을 활성화합니다.

systemctl restart apache2

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

서버의 SSL 인증서가 "자체 서명" SSL 인증서이므로 SSL 경고가 표시됩니다. 이는 브라우저가 기본적으로 이 인증서를 신뢰하지 않으며 먼저 보안 경고를 수락해야 함을 의미합니다. 경고를 수락하면 아파치 기본 페이지가 표시됩니다.

브라우저에서 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

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

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에 액세스할 수 있습니다.

연결

  • 아파치: http://httpd.apache.org/
  • PHP: http://www.php.net/
  • MySQL: http://www.mysql.com/
  • MariaDB: https://mariadb.com/
  • 우분투: http://www.ubuntu.com/
  • phpMyAdmin: http://www.phpmyadmin.net/