expertbuilder
최신 apm 설치 최적 본문
ncould와 gabia 에 설치해 보았습니다.
CentOs 에 Apache + PHP + MariaDB
1. YUM 업데이트
$ sudo yum update -y
yum을 이용하여 아래 라이브러리를 설치합니다.
$ sudo yum install libjpeg* libpng* freetype* gd-* gcc gcc-c++ gdbm-devel libtermcap-devel
2. Apache2.4.x 설치
$ sudo yum install httpd
진행과정에서 y 누르고 갑니다.
설치확인
$ httpd -v
부팅시 자동실행등록
$ systemctl enable httpd
3. MariaDB10.4.x 설치
yum 미러 경로지정
* 참고로 rockey ::: /yum/10.11/rockylinux8-amd64/
$ sudo vi /etc/yum.repos.d/MariaDB.repo
# 파일내용
# MariaDB 10.4 CentOS repository list
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
mariaDB설치
$ sudo yum install MariaDB-server MariaDB-client
진행과정에서 y 누르고 갑니다.
설치확인
mysql -V
상태확인
# 시작
$ systemctl start mariadb
# 종료
$ systemctl stop mariadb
# 상태
$ systemctl status mariadb
기본보안설정 ( 루트패스워드 포함 )
mysql_secure_installation
진행과정에서 y 누르고 갑니다.
부팅시 자동실행
$ systemctl enable mariadb
DB 생성 및 권한설정
# 과거
mysql> grant all privileges on DB_NAME.* to USER_NAME@'%' identified by 'PASSWORD';
mysql> flush privileges;
#현재
mysql> create user USER_NAME@'%' identified by 'PASSWORD';
mysql> grant all privileges on DB_NAME.* to 계정ID@'%';
mysql> flush privileges;
4. PHP8.x 설치
yum 미러 경로지정
$ sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
$ sudo yum install -y yum-utils
$ sudo yum-config-manager --enable remi-php82
# Install PHP with ext
$ sudo yum install -y php php-bcmath php-cli php-common php-devel php-gd \
php-imap php-intl php-json php-ldap php-lz4 php-mbstring php-mysqlnd \
php-soap php-intl php-opcache php-xml php-pdo php-zip
설치확인
$ php -v
5. Apache 시작
$ apachectl start
확인
웹브라우저에서 아이피 로 접속
php 연동확인
echo '<?php phpinfo();?>' > /var/www/html/index.php
6. 계정생성
계정생성시 기본 디렉토리 설정
$ mkdir /etc/skel/www
$ chmod 701 /etc/skel
7. Index 파일설정 및 php mime 설정
index 파일로 인식될 파일을 설정합니다.
Laravel, CI 등의 프레임웍은 index.php 를 허용하여야 합니다.
$ vi /etc/httpd/conf/httpd.conf
아래와 같이 index.php 등을 추가합니다.
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php
</IfModule>
php mime 설정
<IfModule mime_module>
....
## 이부분 추가
AddType application/x-httpd-php .html .htm .php .inc
AddType application/x-httpd-php-source .phps
</IfModule>
8. 가상호스트 설정
$ vi /etc/httpd/conf/https.conf
#이부분을 찾아
<Directory />
AllowOverride none
Require all denied
</Directory>
#아래 내용을 추가
<Directory /home>
AllowOverride none
Require all granted
</Directory>
$ vi /etc/httpd/conf.d/vhosts.conf
아래와 같이 추가
<VirtualHost *:80>
ServerName aaa.co.kr
DocumentRoot "/home/aaa/www/public"
<Directory /home/aaa/www/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
#DirectoryIndex index.php
</Directory>
errorLog "logs/aaa.co.kr.error_log"
CustomLog "logs/aaa.co.kr.log" common
</VirtualHost>
9. certbot
# certbot 설치
$ sudo yum install certbot
# 웹서버에 따라 플러그인 설치
# apache
$ sudo yum install python2-certbot-apache
#nginx
$ sudo yum install python2-certbot-nginx
10. Sendmail 설치
$ yum install sendmail*
설정
1. sendmail 설정
$ vi /etc/mail/sendmail.mc
아래와 같이 수정
# 이부분을 찾아서
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
# 이렇게 수정
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
수정후 내용을 cf 로 변환
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
relay 설정
$ vi /etc/mail/access
아래와 같이 수정
Connect:localhost.localdomain RELAY
Connect:localhost RELAY
Connect:127.0.0.1 RELAY
# 발송할 아이피 또는 도메인을 추가
Connect:aaa.co.kr RELAY
실행
# cf/relay 설정 적용 및 시작
/etc/init.d/sendmail start
# 재시작
/etc/init.d/sendmail restart