티스토리 뷰
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에 접속하면 웹사이트를 확인할 수 있다.
'운영체제 > CentOS 강좌' 카테고리의 다른 글
CentOS 강좌 PART 2. 6 FTP 서버 구축과 운영 (1) | 2019.04.02 |
---|---|
CentOS 강좌 PART 2. 5 LEMP 기반 WordPress 설치 (0) | 2019.03.29 |
CentOS 강좌 PART 2. 3 NTP Server 구축과 운영 (1) | 2019.03.22 |
CentOS 강좌 PART 2. 2 DNS Server 구축과 운영 2 (0) | 2019.03.21 |
CentOS 강좌 PART 2. 2 DNS Server 구축과 운영 1 (2) | 2019.03.20 |
공지사항