웹사이트 검색

Debian 11에 LAMP 스택 설치


이 페이지에서

  1. 전제 조건
  2. Apache 웹 서버 설치
  3. MariaDB 데이터베이스 서버 설치
  4. PHP 처리 언어 설치
  5. Apache용 가상 호스트 만들기\n
  6. Apache에서 PHP 설치 확인\n
  7. 결론

LAMP 스택은 웹에서 웹 사이트 및 애플리케이션을 호스팅하는 데 사용되는 일반적인 오픈 소스 도구 집합입니다. LAMP Stack은 Linux를 운영 체제로, Apache를 웹 서버로, MariaDB/MySQL을 데이터베이스 서버로, PHP를 스크립팅 언어로 사용하는 웹 개발 플랫폼입니다. 널리 사용되고 있으며 고성능 웹 애플리케이션을 제공하기 위한 입증된 소프트웨어 세트를 제공합니다.

이 튜토리얼에서는 Debian 11에 LAMP 스택을 설치하는 방법을 보여줍니다.

전제 조건

  • Debian 11을 실행하는 서버.\n
  • 서버 IP를 가리키는 유효한 도메인 이름입니다.\n
  • 루트 암호는 서버에서 구성됩니다.\n

아파치 웹 서버 설치

Apache 웹서버 패키지는 Debian 11 기본 리포지토리에 포함되어 있습니다. 다음 명령을 실행하여 설치할 수 있습니다.

apt-get install apache2 apache2-utils -y

Apache 웹 서버를 설치한 후 다음 명령을 사용하여 설치된 Apache 버전을 확인합니다.

apache2 -v

다음 출력이 표시되어야 합니다.

Server version: Apache/2.4.48 (Debian)
Server built:   2021-08-12T11:51:47

Apache 서비스를 시작하려면 다음 명령을 실행합니다.

systemctl start apache2

시스템 부팅 시 시작되도록 Apache 서비스를 활성화하려면 다음 명령을 실행합니다.

systemctl enable apache2

다음 명령을 사용하여 Apache의 전체 상태를 확인할 수도 있습니다.

apt-get install elinks
apache2ctl fullstatus

다음 출력이 표시되어야 합니다.

 Apache Server Status for localhost (via ::1)

   Server Version: Apache/2.4.48 (Debian)

   Server MPM: prefork

   Server Built: 2021-08-12T11:51:47

   --------------------------------------------------------------------------

   Current Time: Tuesday, 17-Aug-2021 09:29:41 UTC

   Restart Time: Tuesday, 17-Aug-2021 09:29:33 UTC

   Parent Server Config. Generation: 1

   Parent Server MPM Generation: 0

   Server uptime: 7 seconds

   Server load: 0.05 0.01 0.00

   Total accesses: 0 - Total Traffic: 0 kB - Total Duration: 0

   CPU Usage: u.03 s.02 cu0 cs0 - .714% CPU load

   0 requests/sec - 0 B/second

   1 requests currently being processed, 4 idle workers

기본적으로 Apache는 포트 80에서 실행되며 다음 명령을 사용하여 확인할 수 있습니다.

ss -antpl | grep apache2

다음 출력이 표시되어야 합니다.

LISTEN 0      511                *:80              *:*    users:(("apache2",pid=44022,fd=4),("apache2",pid=44021,fd=4),("apache2",pid=44020,fd=4),("apache2",pid=44019,fd=4),("apache2",pid=44018,fd=4),("apache2",pid=44017,fd=4))

URL http://your-server-ip를 탐색하여 Apache 설치를 확인할 수도 있습니다. 다음 화면에 Apache 테스트 페이지가 표시되어야 합니다.

MariaDB 데이터베이스 서버 설치

MariaDB는 웹 사이트의 데이터를 저장하고 관리하는 데 사용되는 데이터베이스 관리 시스템입니다. 다음 명령을 사용하여 설치할 수 있습니다.

apt-get install mariadb-server -y

MariaDB가 설치되면 MariaDB 서비스를 시작하고 다음 명령을 사용하여 시스템 부팅 시 시작되도록 활성화합니다.

systemctl start mariadb
systemctl enable mariadb

다음 명령을 사용하여 MariaDB 서비스의 상태를 확인할 수도 있습니다.

systemctl status mariadb

다음 출력이 표시되어야 합니다.

? mariadb.service - MariaDB 10.3.31 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-08-21 04:13:25 UTC; 1min 36s ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 1838 (mysqld)
     Status: "Taking your SQL requests now..."
      Tasks: 31 (limit: 2353)
     Memory: 66.1M
     CGroup: /system.slice/mariadb.service
             ??1838 /usr/sbin/mysqld

또한 MariaDB 설치를 보호하고 MariaDB 루트 암호를 설정하는 것이 좋습니다. mysql_secure_installation 스크립트를 실행하여 MariaDB 설치를 보호할 수 있습니다.

mysql_secure_installation

아래와 같이 MariaDB 루트 암호를 설정하고, 익명 사용자를 제거하고, 원격으로 루트 로그인을 허용하지 않고, 테스트 데이터베이스를 제거하라는 메시지가 표시됩니다.

Enter current password for root (enter for none): 
Change the root password? [Y/n] Y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

기본적으로 MariaDB는 포트 3306에서 실행됩니다. 다음 명령을 사용하여 확인할 수 있습니다.

ss -antpl | grep mariadb

다음 명령이 표시됩니다.

LISTEN 0      80         127.0.0.1:3306      0.0.0.0:*    users:(("mariadbd",pid=12181,fd=15))

MariaDB 셸을 연결하려면 다음 명령을 실행합니다.

mysql -u root -p

MariaDB 루트 암호를 제공하고 Enter 키를 눌러 MariaDB 셸에 연결합니다. 연결되면 다음 출력이 표시됩니다.

Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 64
Server version: 10.5.11-MariaDB-1 Debian 11

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

이제 다음 명령을 실행하여 MariaDB 버전을 확인하십시오.

MariaDB [(none)]> SELECT VERSION();

다음 출력이 표시되어야 합니다.

+-------------------+
| VERSION()         |
+-------------------+
| 10.5.11-MariaDB-1 |
+-------------------+
1 row in set (0.001 sec)

PHP 처리 언어 설치

PHP는 웹 서버에서 PHP 응용 프로그램을 제공하는 데 사용되는 처리 언어입니다. 기본적으로 Debian 11에서 사용 가능한 PHP 버전은 PHP 7.4입니다. 다음 명령을 사용하여 일반적으로 사용되는 다른 확장과 함께 PHP를 설치할 수 있습니다.

apt-get install php libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml -y

PHP가 설치되면 다음 명령을 사용하여 PHP 버전을 확인합니다.

php -v

다음 출력이 표시되어야 합니다.

PHP 7.4.21 (cli) (built: Jul  2 2021 03:59:48) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.21, Copyright (c), by Zend Technologies

Apache용 가상 호스트 생성

이 시점에서 LAMP 스택이 서버에 설치됩니다. 이제 모든 애플리케이션을 호스팅하려면 Apache 가상 호스트 구성 파일을 만들어야 합니다.

여기서는 PHP 페이지를 호스팅하기 위한 example.com 디렉토리를 생성합니다. 다음 명령으로 만들 수 있습니다.

mkdir /var/www/html/example.com

다음으로 example.com 디렉토리의 소유권을 www-data로 설정합니다.

chown -R www-data:www-data /var/www/html/example.com

다음으로 다음 명령을 사용하여 Apache 가상 호스트 구성 파일을 만듭니다.

nano /etc/apache2/sites-available/example.com.conf

다음 줄을 추가합니다.

<VirtualHost *:80>
    ServerAdmin 
    ServerName example.com
    DocumentRoot /var/www/html/example.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

파일을 저장하고 닫은 다음 example.com 가상 호스트를 활성화하고 다음 명령을 사용하여 기본 가상 호스트를 비활성화합니다.

a2ensite example.com.conf
a2dissite 000-default

그런 다음 다음 명령을 사용하여 가상 호스트 파일에 구문 오류가 있는지 확인합니다.

apache2ctl configtest

모든 것이 정상이면 다음 출력이 표시됩니다.

Syntax OK

마지막으로 Apache 서비스를 다시 시작하여 구성 변경 사항을 적용합니다.

systemctl reload apache2

다음 명령을 사용하여 Apache 서비스의 상태를 확인할 수도 있습니다.

systemctl status apache2

다음 출력이 표시되어야 합니다.

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-08-21 04:13:30 UTC; 2min 56s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 2257 (apache2)
      Tasks: 55 (limit: 2353)
     Memory: 5.3M
     CGroup: /system.slice/apache2.service
             ??2257 /usr/sbin/apache2 -k start
             ??2259 /usr/sbin/apache2 -k start
             ??2260 /usr/sbin/apache2 -k start

Aug 21 04:13:30 debian11 systemd[1]: Starting The Apache HTTP Server...
Aug 21 04:13:30 debian11 apachectl[2246]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 216.9>
Aug 21 04:13:30 debian11 systemd[1]: Started The Apache HTTP Server.

Apache에서 PHP 설치 확인

다음으로 Apache 웹 서버를 통해 제공할 샘플 PHP 파일을 만들어야 합니다. example.com 디렉토리 안에 phpinfo.php 파일을 만들 수 있습니다.

nano /var/www/html/example.com/phpinfo.php

다음 줄을 추가합니다.

<?php phpinfo(); ?>

파일을 저장하고 닫은 다음 웹 브라우저를 열고 URL http://example.com/phpinfo.php를 사용하여 PHP 페이지에 액세스합니다. 다음 화면에 PHP 페이지가 표시되어야 합니다.

결론

위의 가이드에서 Debian 11에 LAMP 스택을 설치하는 방법을 설명했습니다. 이제 LAMP 스택을 사용하여 첫 번째 웹 사이트 호스팅을 시작할 수 있습니다. 궁금한 점이 있으면 언제든지 문의해 주세요.