서버 CentOS 7 웹서버 구축 [APM] - YUM설치 (최신버전)
페이지 정보
본문
■ 릴리즈 설치 테스트 갱신 : 2017년 2월 19일
■ Apache2.4(유지), PHP7, MariaDB 10 최신버전으로 진행 합니다.
웹서버 구축을 하기위해 APM [Apache, Mysql(Maria), PHP] 3개의 패키지가 설치가 되야합니다.
웹을 개발할려는 환경에따라 버전에 맞게 RPM(소스파일로 설치)하는게 좋지만 크게 영향을 받지 않는다면 일반적으로 YUM(자동설치)으로 쉽게 설치할수 있습니다.
■ [APM] Apache, PHP7, MariaDB 10.1 Install(설치) Guide
1. 의존성 라이브러리 설치
□ 아래는 라이브러리가 설치되어있는지 확인해보는 부분이며 APM에 꼭 필요한 패키지가 있습니다.
rpm -qa libjpeg* libpng* freetype* gd-* gcc gcc-c++ gdbm-devel libtermcap-devel
□ Yum 으로 아래의 필요한 라이브러리를 한번에 전부 설치합니다. (한번에 관련된 의존성도 같이 설치가 됩니다.)
yum install libjpeg* libpng* freetype* gd-* gcc gcc-c++ gdbm-devel libtermcap-devel
2. [APM] Apache, PHP, MariaDB 설치 [순서는 : Apache, Maria, PHP 진행]
□ 아파치(Apache 2.4) 설치
yum install httpd
□ 마리아(Maria DB 10.1) 설치
기존의 Yum 으로 설치할경우는 Maria DB 5.5 버전이 설치가 됩니다.
최신버전으로 설치할경우 Yum 미러경로를 직접지정해야 합니다.
배포사이트 : http://mariadb.org/
버전별 셋팅방법 : http://downloads.mariadb.org/mariadb/repositories
먼저 Yum 저장소 생성
vi /etc/yum.repos.d/MariaDB.repo
========================================
# MariaDB 10.1 CentOS repository list
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
========================================
이후 설치 진행
yum install MariaDB-server MariaDB-client
□ PHP 7 설치
PHP 역시 기존의 Yum 으로 설치할경우는 PHP 5.4 버전이 설치가 됩니다.
최신버전으로 설치하기위해 Webtatic EL 저장소를 추가합니다.
버전별 참고사이트 : https://webtatic.com/projects/yum-repository/
먼저 Yum 저장소 생성
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
php설치
yum install php70w
자주쓰는 관련 PHP 설치
yum install php70w-mysql php70w-pdo php70w-pgsql php70w-odbc php70w-mbstring php70w-mcrypt php70w-gd
yum install php70w-pear php70w-pdo_dblib php70w-pecl-imagick php70w-pecl-imagick-devel php70w-xml php70w-xmlrpc
php 설치가능패키지확인
yum search php70w
□ 설치 확인 및 버전확인
httpd -v #http 버전확인
php -v #php 버전확인
mysql -v #mysql 버전확인
아래부터는 설정 동일합니다.
■ [APM] Apache, PHP, MariaDB config(설정) 및 구동
1. 아파치(Apache) 설정 및 구동
□ 기본설정
vi /etc/httpd/conf/httpd.conf
User nobody (apache → nobody 변경)
Group nobody (apache → nobody 변경)
■ apache → nobody 변경
ROOT 권한으로 실행된 아파치의 하위 프로세스를 이곳에서 지정한 사용자로 실행한다는 의미,
기본값으로 apache 또는 daemon 으로 되어있지만 대부분 nobody로 변경하여 이용한다. 약간 보안적인 의미를 포함
ServerName 192.168.122.128:80 (도메인 또는 해당서버 IP 입력 추가)
■ ServerName
자기 서버가 이 도메인을 사용한다는것을 알리기 위한 수단, 예를 들어
ServerName www.test.com:80 → 홈페이지 접속시 해당 도메인(http://www.test.com)으로 연결
ServerName 192.168.122.128:80 → 홈페이지 접속시 해당 도메인((http://192.168.122.128)으로 연결 (도메인이 없을경우 IP 입력)
■ IP는 자기서버 IP 셋팅
ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.223.129 (이부분) netmask 255.255.255.0 broadcast 192.168.223.255
□ 방화벽 설정
환경설정이 완료가 되었으니 웹을 열기위해선 방화벽 80번 포트를 오픈해야합니다.
vi /etc/sysconfig/iptables를 엽니다.
적적한 위치에 아래 코드를 추가합니다.
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT (추가)
□ 방화벽 재시작
systemctl save iptables
systemctl restart iptables
iptables -nL #적용확인
□ 서버 시작
systemctl start | stop httpd #시작,재시작
systemctl enable | disable httpd #부탕활성화, 부팅비활성화
□ 아파치 구동 확인
ps -ef |grep httpd
2. PHP 환경설정 및 구동(경로)
□ 기본설정
vi /etc/httpd/conf/httpd.conf
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php (추가)
</IfModule>
#AddType application/x-gzip .tgz 아래에 추가
AddType application/x-httpd-php .php .html .htm .inc (추가)
AddType application/x-httpd-php-source .phps (추가)
□ PHP 적용
Yum 설치시 html 업로드 기본 디렉토리는 아래와 같습니다.
vi /var/www/html/phpinfo.php
<?php phpinfo(); ?> :wp 저장
□ 서버 재시작
systemctl restart httpd
ps -ef | grep httpd // 서버작동확인
3. Maria DB 구동 및 설정
□ Maria DB 구동 및 구동 확인
systemctl start mariadb
ps -ef | grep mysql
mysql_secure_installation // 시작 패스워드 관련
Enter current password for root (enter for none): 엔터!!!(패스워드미설정)
Set root password? [Y/n] Y (DB ROOT 패스워드 설정)
New password: 패스워드입력
Re-enter new password: 재확인 패스워드입력
Remove anonymous users? [Y/n] Y (익명의 접근을 막을것인지? 보안을 위해 Y 엔터)
Disallow root login remotely? [Y/n] Y (DB ROOT 원격을 막을것인지? 보안을 위해 Y 엔터)
Remove test database and access to it? [Y/n] Y (Test 용으로 생성된 데이터베이스를 삭제할것인가? Y 엔터)
Reload privilege tables now? [Y/n] Y (현재 설정한 값을 적용할것인지? 당연히 Y 엔터)
Thanks for using MariaDB! (끝)
□ Maria DB 접속
mysql -u root -p
Enter password: 패스워드 입력
이상 위에 순서대로 웹구축만하여도 웹서버를 구동하는데에는 크게 문제가 없습니다. 만약 직접 웹홈페이지 개발을 한다면 충분히 연습할수 있는 공간을 만들수 있을것으로 보입니다.
이상 APM 설치 포스팅이었습니다.
- 이전글service mysqld status 19.01.03
- 다음글[CentOS 7] MariaDB 10.1.21 삭제 19.01.01