티스토리 뷰

CentOS 강좌 PART 2. 4  LAMP 설치

LAMP는 Linux , Apache, MySQL/MariaBD , PHP 등을 묶어서 일컫는 용어로 운영체제, 웹서버, 데이터베이스 및 언어 등을 오픈소스 기반으로 구축하는 데서 부르는 용어이다.
리눅스 기반으로 크게 인기를 끌면서 Mac 기반의 MAMP, FreeBSD 기반의 FAMP 등 다양한 조합들도 최근에는 등장하였다.
뿐만 아니라 Web Service로 워드프레스 등 친 사용자 환경의 다양한 소프트웨어들이 등장하였다.
이번 편에서는 Apache, MariaDB, PHP 의 설치와 WordPress 설치 등을 다룬다.


1.사전 준비 작업

Remi Repository를 추가한다.
기본 설치된 환경에서는 MySQL과 PHP의 최신버전을 받을 수 없다. 이유는 보수적이기 때문에 안정적인 버전을 YUM에 배포하는 경우가 많기 때문에 MySQL/MariaDB, PHP의 최신버전은 Remi Repository를 등록하고 설치 업데이트 하는 것이 좋다.

1
2
3
4
5
6
7
8
9
10
11
[root@web whchoi]# yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
 
[root@web whchoi]# ls /etc/yum.repos.d/
epel-testing.repo  remi-glpi91.repo  remi-glpi94.repo   remi-php70.repo  remi-php73.repo
epel.repo          remi-glpi92.repo  remi-modular.repo  remi-php71.repo  remi-safe.repo
local-repos.repo   remi-glpi93.repo  remi-php54.repo    remi-php72.repo  remi.repo
 
[root@web whchoi]# yum install yum-utils
 
[root@web whchoi]# yum-config-manager --disable remi-php54
[root@web whchoi]# yum-config-manager --enable remi-php73
cs


2. LAMP (httpd , MariaDB, PHP) 설치 및 기본 구성

yum을 통해 httpd, MariaDB, PHP를 추가 설치하여, LAMP Stack을 완성한다.

/etc/ntp.conf 파일을 한국 시간대에 맞게 ntp server pool을 설정한다.
또한 추가적으로 구성 파일 마지막에 ntp log를 설정한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@web whchoi]# yum install httpd mariadb mariadb-server php php-common php-mysql php-gd php-xml php-mbstring php-mcrypt
 
# LAMP 설치를 위해 필요한 httpd, mariadb , PHP 7.3 최신버전을 설치한다.
 
[root@web whchoi]# systemctl start mariadb
[root@web whchoi]# mysql_secure_installation
 
Enter current password for root (enter for none):
Set root password? [Y/n]
Remove anonymous users? [Y/n]
Disallow root login remotely? [Y/n]
Remove test database and access to it? [Y/n]
Reload privilege tables now? [Y/n]
 
# MariaDB를 구동하고, Secure Install을 한다.
# Secure Install을 수행하면, 보안 강화를 위해 Interactive 질문을 하게 되고 적절하게 필요한 설정을 한다.
 
[root@web whchoi]# systemctl enable mariadb
 
# MariaDB를 활성화 한다.
 
[root@web whchoi]# systemctl start httpd
[root@web whchoi]# systemctl enable httpd
# httpd도 활성화 한다.
cs

외부에서 웹서비스를 정상적으로 접속 할 수 있도록 보안 정책을 설정한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@web whchoi]# firewall-cmd --add-service=http --permanent
[root@web whchoi]# firewall-cmd --reload
success
 
# firewall 설정을 통해서 www 서비스를 허용한다.서비스 또는 서비스 포트를 허용한다.
 
[root@web whchoi]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens192
  sources:
  services: ssh dhcpv6-client ntp http
 
# 정상적으로 서비스가 허용되었는지 확인한다.
cs

정상적으로 웹서비스가 외부에서 접속되는 지 확인한다.


 


3. WordPress 구동

워드프레스가 사용할 DB와 DB User를 생성한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@web whchoi]# mysql -u root -p
 
# SQL로 접속한다.
 
MariaDB [(none)]> CREATE DATABASE wordpress;
 
# wordpress DB를 생성한다.
 
MariaDB [(none)]> CREATE USER wordpress@localhost IDENTIFIED BY "secure_password”;
 
# wordpress DB User의 보안을 생성한다.
 
MariaDB [(none)]> GRANT ALL ON wordpress.* TO wordpress@localhost;
 
# wordpress 로 부터의 접근을 승인한다.
 
MariaDB [(none)]> FLUSH PRIVILEGES;
cs

워드프레스를 다운로드 받고, 압축해제하여 /var/www/html/wordpress 에 설치한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@web whchoi]# cd /tmp && wget http://wordpress.org/latest.tar.gz
 
# /tmp 폴더 밑에 wordpress 최신버전을 다운로드 받아서 설치한다.
 
[root@web tmp]# tar -xvzf latest.tar.gz -C /var/www/html
 
# 설치 받은 파일을 /var/www/html 에 압축을 푼다.
 
[root@web tmp]# ls /var/www/html/wordpress/
index.php        wp-admin              wp-content         wp-load.php      wp-signup.php
license.txt      wp-blog-header.php    wp-cron.php        wp-login.php     wp-trackback.php
readme.html      wp-comments-post.php  wp-includes        wp-mail.php      xmlrpc.php
wp-activate.php  wp-config-sample.php  wp-links-opml.php  wp-settings.php
 
# 정상적으로 설치되었는지 확인한다.
 
[root@web tmp]# chown -R apache /var/www/html/wordpress
 
# apache web데몬 유저가 ownership을 가질수 있도록 한다.
cs

워드프레스 구동을 위한 구성을 한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@web ~]# vim /etc/httpd/conf/httpd.conf
 
<VirtualHost *:80>
355   ServerAdmin whchoi@cisko-dc.com
356   DocumentRoot /var/www/html/wordpress
357   ServerName www.cisko-dc.com
358   ServerAlias www.cisko-dco.com
359   ErrorLog /var/log/httpd/tecminttest-error-log
360   CustomLog /var/log/httpd/tecminttest-acces-log common
361 </VirtualHost>
 
# wordpress가 동작할 수 있도록 httpd.conf 파일을 수정한다.
# 파일 가장 하단에 추가한다.
 
[root@web ~]# systemctl restart httpd
 
# Apache HTTP server를 재구동한다.
# 설치 진행 중에 wizard가 php 파일을 생성하지 못한다면, 
  sudo chcon -t httpd_sys_rw_content_t /var/www/html/wordpress/ 명령을 수행해 주면 설치가 진행된다.
# 설치 완료 후에 sudo restorecon -v /var/www/html/wordpress/ 를 실행한다.
cs

워드프레스의 기본 설정을 한다.
먼저 www.cisko-dc.com을 접속한다.
한국어를 선택한다.


앞서 설정한 DB 이름, DB User, 암호, 데이터베이스 호스트를 설정한다.


워드프레스 설치를 위한 간단한 내용등을 기재한다.



로그인을 하게 되면 아래와 같이 워드프레스 구성을 위한 상세 내용을 구성할 수 있으며, 해당 URL에 접속하면 웹사이트를 확인할 수 있다.


공지사항