Apache2 웹서버 설치
sudo apt install apache2
y를 입력 후 엔터를 누르면 설치가 진행됩니다.
설치가 완료되면 apache가 자동으로 시작됩니다.
apache 상태 확인
systemctl status apache2
버전 확인
apache2 -v
정상적으로 설치가 되었는지 확인하기 위해 웹브라우저에 localhost 또는 서버 ip를 입력해주면 됩니다.
해당 이미지 처럼 보이면 정상적으로 설치가 완료된겁니다.
MariaDB 데이터베이스 설치
sudo apt install mariadb-server mariadb-client
설치 후 mariadb는 자동으로 실행 됩니다.
상태확인
systemctl status mariadb
만약 실행중이 아니면
sudo systemctl start mariadb
그리고 MariaDB가 부팅시 자동으로 시작되도록 허용을 해줍니다.
sudo systemctl enable mariadb
그리고 버전을 확인합니다.
mariadb --version
그리고 보안 스크립트 실행을 해줍니다.
sudo mysql_secure_installation
Enter current password for root (enter for none): MariaDB 서버의 루트 비밀번호를 입력합니다.
Set root password? [Y/n] -> Y 루트 비밀번호 설정하기
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
PHP7.4 설치
PHP7.4 및 일부 일반적인 모듈을 설치합니다.
Ubuntu 18.04일 경우 몇가지 업데이트를 해야됩니다.
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
Ubuntu 20.04에서는 위에 명령어는 생략합니다.
sudo apt install php7.4 libapache2-mod-php7.4 php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline
설치가 완료 되면 apache php7.4 모듈을 활성화하고 웹 서버를 재시작하세요.
sudo a2enmod php7.4
sudo systemctl restart apache2
그리고 PHP 버전을 확인
php --version
버전이 확인이 되었다면 apache서버에 php가 제대로 설치가 되었는지 확인하기 위해 루트 디렉토리에 info.php를 생성해서 phpinfo(); 를 실행해봐야됩니다.
vi /var/www/html/info.php
<?php phpinfo(); ?>
해당 이미지 처럼 나오면 정상적으로 설치가 되었습니다.
PHP-FPM 실행
PHP를 실행하기 위해 두 가지 방법이 있습니다.
CGI 또는 FastCGI가 있습니다.
CGI는 하나의 요청에 하나의 프로세스를 생성합니다.
FastCGI는 하나의 프로세스로 요청들을 처리하여 프로세스를 생성하고 제거하는 부하를 경감하였습니다.
즉 프로세스 요청이 많지 않는 사이트일 경우 다음을 패스합니다.
우선 Apache PHP7.4 모듈을 비활성화해야 합니다.
sudo a2dismod php7.4
그리고 PHP-FPM 설치를 합니다.
sudo apt install php7.4-fpm
그리고 proxy_fcgi 및 setenvif 모듈 활성화를 합니다.
sudo a2enmod proxy_fcgi setenvif
그리고 구성 파일 활성화 합니다.
sudo a2enconf php7.4-fpm
그리고 아파치를 재시작을 합니다.
sudo systemctl restart apache2
그리고 infophp 브라우저에서 새로고침을 하면 Apache 2.0 FastCGI로 변경되어있습니다.
서버를 오픈 하기 전에 항상 phpinfo를 보안을 위해서 삭제를 하시길 바랍니다.
'서버 > 리눅스' 카테고리의 다른 글
Fatal error: Call to undefined function curl_init() (0) | 2022.08.24 |
---|---|
Composer 버전 확인 (0) | 2022.08.24 |
우분투 버전 확인 (0) | 2022.08.08 |
[PHP] <?php phpinfo(); ?> 그대로 출력 (0) | 2022.08.08 |
[Linux] 리눅스 특정 포트 및 프로세스 죽이기 (0) | 2022.07.25 |