PHP 웹 개발을 위한 Debian 10 LAMP 서버 설정

PHP 웹 개발을 위한 Debian 10 LAMP 서버 설정

2022-06-03 last update

10 minutes reading php
본고에서 PHP 웹 개발을 위해 LAMP(Linux, Apache, MySQL/MariadB, PHP) 서버를 설정하는 방법을 보여 드리겠습니다.나는 최근에 발표된 Debian 10Buster GNU/Linux 릴리스를 사용하여 프레젠테이션을 진행할 것이다.그럼 시작합시다.

APT 패키지 저장소 캐시 업데이트 중:


먼저 다음 명령을 사용하여 APT 패키지 저장소 캐시를 업데이트합니다.
$ sudo apt update

APT 패키지 저장소 캐시를 업데이트해야 합니다.

MySQL/MariaDB 설치 및 구성:


이제 다음 명령을 사용하여 Debian 10의 공식 패키지 저장소에서 MariaDB 서버 및 클라이언트 패키지를 설치합니다.
$ sudo apt install mariadb-server mariadb-client

설치를 확인하려면 Y 키를 누른 다음 Enter 키를 누릅니다.

APT 패키지 관리자는 필요한 모든 패키지를 다운로드하여 설치합니다.

이제 MariaDB 서버 및 클라이언트 패키지가 설치됩니다.

이제 다음 명령을 사용하여 mariadb 서비스가 실행 중인지 확인합니다.
$ sudo systemctl status mariadb

보시다시피,mariadb 서비스가 실행 중입니다.시스템이 부트될 때 자동으로 시작할 수도 있습니다.

mariadb 서비스가 실행되지 않은 경우 다음 명령을 사용하여 서비스를 시작합니다.
$ sudo systemctl start mariadb
이제 다음 명령을 실행하여 MariaDB에 루트 암호를 설정합니다.
$ sudo mysql_secure_installation

Enter 키를 누릅니다.

이제 Y 키를 누른 다음 Enter 키를 누릅니다.

이제 루트 암호를 입력하고 Enter 키를 누릅니다.

루트 암호를 다시 입력하고 Enter 키를 누릅니다.

Y 키를 누른 다음 Enter 키를 눌러 익명 사용자를 삭제합니다.

루트 원격 로그인을 허용하지 않으려면 Y를 누르십시오. 그렇지 않으면 N을 누르고 Enter를 누르십시오.

이제 Y 키를 누르고 Enter 키를 눌러 테스트 데이터베이스를 삭제합니다.

이제 Y 키를 누른 다음 Enter 키를 눌러 권한 테이블을 다시 로드합니다.

MariaDB를 구성해야 합니다.

새로운 MySQL/MariadB 사용자 및 데이터베이스 만들기:


현재, 웹 응용 프로그램에 새 사용자와 데이터베이스를 만들어야 합니다.
다음 명령을 사용하여 MariDB 셸에 로그인합니다.
$ sudo mysql -u root -p

이제 설정한 MariaDB root 암호를 입력하고 Enter 키를 누릅니다.

로그인되어 있어야 합니다.

이제 다음 SQL 문구를 사용하여 데이터베이스 app1을 만듭니다.
$ CREATE DATABASE app1;

이제 새 사용자 (예: shovon) 를 만들고 암호 (예: 123) 를 설정하고 다음 SQL 문장을 통해 사용자에게 데이터베이스 app1 사용 권한을 부여합니다.
GRANT ALL ON app1.* TO 'shovon'@'localhost' IDENTIFIED BY '123';

이제 MariaDB 권한을 새로 고쳐 변경 사항을 적용합니다.
FLUSH PRIVILEGES;

이제 다음과 같이 MariaDB 셸을 종료합니다.
\q

Apache 웹 서버 및 PHP 설치:


이제 다음 명령을 사용하여 Apache 2 웹 서버 및 PHP를 설치합니다.
$ sudo apt install apache2 php

이제 Y 키를 누른 다음 Enter 키를 눌러 설치를 확인합니다.

Apache 2 웹 서버와 PHP를 설치해야 합니다.

이제 다음 명령을 사용하여 apache2 서비스가 실행 중인지 확인합니다.
$ sudo systemctl status apache2

보시다시피apache2 서비스가 실행 중입니다.시스템이 부트될 때 자동으로 시작할 수도 있습니다.

만약에 아파치2 서비스가 실행되지 않으면 다음과 같이 수동으로 시작할 수 있습니다.
$ sudo systemctl start apache2

PHP 확장 설치:


Debian 10 공식 패키지 저장소는 많은 PHP 확장을 미리 패키지화합니다.
다음 명령을 사용하여 사용 가능한 모든 PHP 확장/라이브러리를 나열할 수 있습니다.
$ sudo apt search ^php-
버전 번호와 간단한 설명을 포함한 모든 PHP 확장 패키지 이름을 나열해야 합니다.이것은 매우 긴 목록이다.그래서 이런 방법으로 원하는 것을 찾는 데는 시간이 걸릴 수도 있다.

가장 일반적인 PHP 확장/라이브러리를 설치하려면 다음 명령을 실행합니다.
$ sudo apt install php-curl php-gd php-mbstring php-mysql php-zip
php-json php-xml

이제 Y 키를 누른 다음 Enter 키를 눌러 설치를 확인합니다.

일반적인 PHP 확장을 설치해야 합니다.

PHP 확장을 설치하면 다음과 같이 Apache 웹 서버를 다시 시작합니다.
$ sudo systemctl restart apache2

Apache 모듈 사용/사용 안 함:


Apache 웹 서버에는 많은 모듈이 포함되어 있습니다.필요에 따라 활성화하거나 비활성화할 수 있습니다.
사용 가능한 모든 Apache2 모듈을 나열하려면 다음 명령을 실행하십시오.
$ ls /etc/apache2/mods-available
보시다시피 사용 가능한 모든 Apache 2 모듈이 나열되어 있습니다.

모듈(예: 다시 쓰기)을 활성화하려면 다음 명령을 실행합니다.
$ sudo a2enmod rewrite

Apache 2 모듈을 사용/사용 안 함으로 설정하면 Apache 2 웹 서버를 다시 시작하는 것을 잊지 마십시오.
Apache 2 웹 서버를 다시 시작하려면 다음 명령을 실행합니다.
$ sudo systemctl restart apache2

활성화/활성 Apache 2 모듈을 모두 나열하려면 다음 명령을 실행합니다.
$ sudo a2query -m
활성화/활성 Apache 2 모듈을 모두 나열해야 합니다.

활성화된 모듈을 비활성화하려면 다음과 같이 a2dismod 명령을 사용합니다.
$ sudo a2dismod moduleName

Apache 실행 사용자를 변경하려면:


Debian 10의 기본 아파치 실행 사용자는 www 데이터이고 기본 웹 루트 디렉터리는/var/www/html입니다.따라서 일반 사용자로서 파일/디렉터리를 만들거나 웹 루트 디렉터리의 기존 파일/디렉터리를 수정할 수 없습니다.개발 LAMP 서버를 설정할 때 원하는 것이 아닙니다.이 문제를 해결하려면 아파치 실행 사용자를 로그인 사용자로 바꾸고 웹루트/var/www/html의 소유자와 그룹을 로그인 사용자로 변경해야 합니다.
Apache 실행 사용자를 변경하려면 다음 명령을 사용하여/etc/apache2/envvars 프로필을 편집합니다.
$ sudo nano /etc/apache2/envvars

APACHE\u RUN\u USER 및 APACHE\u RUN\u GROUP 환경 변수를 수정해야 합니다.

이제 APACHE\u RUN\u USER 및 APACHE\u RUN\u GROUP 환경 변수를 로그인 사용자의 사용자 이름(whoami 명령의 출력)으로 설정합니다.완료되면 Ctrl + X 를 누르고 Y 및 Enter 키를 눌러 파일을 저장합니다.

현재 다음 명령을 사용하여/var/www/html 디렉터리의 소유자와 그룹을 로그인 사용자의 사용자 이름으로 변경합니다.
$ sudo chown -Rf $(whoami):$(whoami) /var/www/html

이제 다음 명령을 사용하여 Apache 2 웹 서버를 다시 시작합니다.
$ sudo systemctl restart apache2

테스트 라이트 서버:


PHP 스크립트 인덱스 2개를 만들었습니다.php와 phpinfo.php는 웹루트/var/www/html에 있습니다.
색인 내용.php:
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

echo "Connected successfully";
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>


Contents of phpinfo.php:

이제 브라우저에서 PHP 스크립트에 액세스할 수 있어야 합니다. 아래 화면 캡처와 같습니다.
http://localhost

http://localhost/phpinfo.php

따라서 이것이 PHP 웹 개발을 위해 Debian 10 LAMP 서버를 설정하는 방법입니다.본문을 읽어 주셔서 감사합니다.