
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 패키지 저장소 캐시를 업데이트해야 합니다.
이제 다음 명령을 사용하여 Debian 10의 공식 패키지 저장소에서 MariaDB 서버 및 클라이언트 패키지를 설치합니다.
설치를 확인하려면 Y 키를 누른 다음 Enter 키를 누릅니다.
APT 패키지 관리자는 필요한 모든 패키지를 다운로드하여 설치합니다.
이제 MariaDB 서버 및 클라이언트 패키지가 설치됩니다.
이제 다음 명령을 사용하여 mariadb 서비스가 실행 중인지 확인합니다.
보시다시피,mariadb 서비스가 실행 중입니다.시스템이 부트될 때 자동으로 시작할 수도 있습니다.
mariadb 서비스가 실행되지 않은 경우 다음 명령을 사용하여 서비스를 시작합니다.
Enter 키를 누릅니다.
이제 Y 키를 누른 다음 Enter 키를 누릅니다.
이제 루트 암호를 입력하고 Enter 키를 누릅니다.
루트 암호를 다시 입력하고 Enter 키를 누릅니다.
Y 키를 누른 다음 Enter 키를 눌러 익명 사용자를 삭제합니다.
루트 원격 로그인을 허용하지 않으려면 Y를 누르십시오. 그렇지 않으면 N을 누르고 Enter를 누르십시오.
이제 Y 키를 누르고 Enter 키를 눌러 테스트 데이터베이스를 삭제합니다.
이제 Y 키를 누른 다음 Enter 키를 눌러 권한 테이블을 다시 로드합니다.
MariaDB를 구성해야 합니다.
현재, 웹 응용 프로그램에 새 사용자와 데이터베이스를 만들어야 합니다.
다음 명령을 사용하여 MariDB 셸에 로그인합니다.
이제 설정한 MariaDB root 암호를 입력하고 Enter 키를 누릅니다.
로그인되어 있어야 합니다.
이제 다음 SQL 문구를 사용하여 데이터베이스 app1을 만듭니다.
이제 새 사용자 (예: shovon) 를 만들고 암호 (예: 123) 를 설정하고 다음 SQL 문장을 통해 사용자에게 데이터베이스 app1 사용 권한을 부여합니다.
이제 MariaDB 권한을 새로 고쳐 변경 사항을 적용합니다.
이제 다음과 같이 MariaDB 셸을 종료합니다.
이제 다음 명령을 사용하여 Apache 2 웹 서버 및 PHP를 설치합니다.
이제 Y 키를 누른 다음 Enter 키를 눌러 설치를 확인합니다.
Apache 2 웹 서버와 PHP를 설치해야 합니다.
이제 다음 명령을 사용하여 apache2 서비스가 실행 중인지 확인합니다.
보시다시피apache2 서비스가 실행 중입니다.시스템이 부트될 때 자동으로 시작할 수도 있습니다.
만약에 아파치2 서비스가 실행되지 않으면 다음과 같이 수동으로 시작할 수 있습니다.
Debian 10 공식 패키지 저장소는 많은 PHP 확장을 미리 패키지화합니다.
다음 명령을 사용하여 사용 가능한 모든 PHP 확장/라이브러리를 나열할 수 있습니다.
가장 일반적인 PHP 확장/라이브러리를 설치하려면 다음 명령을 실행합니다.
이제 Y 키를 누른 다음 Enter 키를 눌러 설치를 확인합니다.
일반적인 PHP 확장을 설치해야 합니다.
PHP 확장을 설치하면 다음과 같이 Apache 웹 서버를 다시 시작합니다.
Apache 웹 서버에는 많은 모듈이 포함되어 있습니다.필요에 따라 활성화하거나 비활성화할 수 있습니다.
사용 가능한 모든 Apache2 모듈을 나열하려면 다음 명령을 실행하십시오.
모듈(예: 다시 쓰기)을 활성화하려면 다음 명령을 실행합니다.
Apache 2 모듈을 사용/사용 안 함으로 설정하면 Apache 2 웹 서버를 다시 시작하는 것을 잊지 마십시오.
Apache 2 웹 서버를 다시 시작하려면 다음 명령을 실행합니다.
활성화/활성 Apache 2 모듈을 모두 나열하려면 다음 명령을 실행합니다.
활성화된 모듈을 비활성화하려면 다음과 같이 a2dismod 명령을 사용합니다.
Debian 10의 기본 아파치 실행 사용자는 www 데이터이고 기본 웹 루트 디렉터리는/var/www/html입니다.따라서 일반 사용자로서 파일/디렉터리를 만들거나 웹 루트 디렉터리의 기존 파일/디렉터리를 수정할 수 없습니다.개발 LAMP 서버를 설정할 때 원하는 것이 아닙니다.이 문제를 해결하려면 아파치 실행 사용자를 로그인 사용자로 바꾸고 웹루트/var/www/html의 소유자와 그룹을 로그인 사용자로 변경해야 합니다.
Apache 실행 사용자를 변경하려면 다음 명령을 사용하여/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 디렉터리의 소유자와 그룹을 로그인 사용자의 사용자 이름으로 변경합니다.
이제 다음 명령을 사용하여 Apache 2 웹 서버를 다시 시작합니다.
PHP 스크립트 인덱스 2개를 만들었습니다.php와 phpinfo.php는 웹루트/var/www/html에 있습니다.
색인 내용.php:
이제 브라우저에서 PHP 스크립트에 액세스할 수 있어야 합니다. 아래 화면 캡처와 같습니다.
따라서 이것이 PHP 웹 개발을 위해 Debian 10 LAMP 서버를 설정하는 방법입니다.본문을 읽어 주셔서 감사합니다.
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 서버를 설정하는 방법입니다.본문을 읽어 주셔서 감사합니다.