linux/CentOS

CentOS7 - APM 웹서버 구축

IT공부 2020. 4. 1. 23:04
반응형

1. 의존성 라이브러리 설치

 

아래는 라이브러리가 설치되어있는지 확인해보는 부분이며 APM에 꼭 필요한 패키지가 있습니다.

 

rpm -qa libjpeg* libpng* freetype* gd-* gcc gcc-c++ gdbm-devel libtermcap-devel

 

Yum 으로 아래의 필요한 라이브러리를 한번에 전부 설치합니다. (한번에 관련된 의존성도 같이 설치가 됩니다.)

 

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

 

yum install mariadb mariadb-server

 

 

 

PHP 설치

yum install php php-mysql php-mbstring php-pdo php-gd

 

 

 

설치 확인 및 버전확인

rpm -qa httpd mariadb php

 

 

 

[APM] Apache, PHP, MariaDB config(설정) 및 구동

1. 아파치(Apache) 설정 및 구동

 

 

기본설정

 

 

BASH

[root@localhost ~]# vi /etc/httpd/conf/httpd.conf

 

.

.

62 # User/Group: The name (or #number) of the user/group to run httpd as.

63 # It is usually good practice to create a dedicated user and group for

64 # running httpd, as with most system services. 65 #

66 User nobody (apache → nobody 변경)

67 Group nobody (apache → nobody 변경)

.

.

93 # If your host doesn't have a registered DNS name, enter its IP address here.

94 #

95 #ServerName www.example.com:80

96 ServerName 192.168.223.129:80 (도메인 또는 해당서버 IP 입력 추가)

.

.

 

:wq (저장)

 

 

[참고]

 

■ apache → nobody 변경

ROOT 권한으로 실행된 아파치의 하위 프로세스를 이곳에서 지정한 사용자로 실행한다는 의미, 

기본값으로 apache 또는 daemon 으로 되어있지만 대부분 nobody로 변경하여 이용한다. 약간 보안적인 의미를 포함

 

■ ServerName

자기 서버가 이 도메인을 사용한다는것을 알리기 위한 수단, 예를 들어

ServerName www.test.com:80 → 홈페이지 접속시 해당 도메인(http://www.test.com)으로 연결

ServerName 192.168.122.128:80 → 홈페이지 접속시 해당 도메인((http://192.168.122.128)으로 연결 (도메인이 없을경우 IP 입력)

 

■ IP는 자기서버 IP 셋팅

[root@localhost ~]# 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

 

 

 

 

2. PHP 환경설정 및 구동(경로)

 

 기본설정

 

 

[root@localhost ~]# vi /etc/httpd/conf/httpd.conf

 

.

.

161 # DirectoryIndex: sets the file that Apache will serve if a directory

162 # is requested. 163 #

164 <IfModule dir_module>

165 DirectoryIndex index.html index.htm index.php (추가)

166 </IfModule>

.

.

270 # AddType allows you to add to or override the MIME configuration

271 # file specified in TypesConfig for specific file types.

272 #

273 #AddType application/x-gzip .tgz

274 AddType application/x-httpd-php .php .html .htm .inc (추가)

275 AddType application/x-httpd-php-source .phps (추가)

 

:wq (저장)

 

 

실제 PHP환경설정을 관리하는 파일은 아래의 경로입니다.

[root@localhost ~]# vi /etc/php.ini

 

위 httpd.conf 쪽에 셋팅하는건 아파치에 php 관련 처리를 할수 있게 추가를 하는 부분입니다. 

php.ini 파일설정은 사용할려는 웹환경에 맞게튜닝을 해야하지만 현재는 기본셋팅으로 갑니다. 나중에 따로 설명하도록 하겠습니다.

 

 

PHP 적용

 

Yum 설치시 html 업로드 기본 디렉토리는 아래와 같습니다.

BASH

[root@localhost ~]# cd /var/www/html/

 

해당 경로에서 PHP의 정보를 보여주는 함수의 파일을 하나 생성합니다.

BASH

[root@localhost html]# vi /var/www/html/phpinfo.php

 

<?php phpinfo(); ?>

:wq (저장)

 

[root@localhost html]# ls (파일생성 확인) phpinfo.php

 

PHP 환경설정을 적용하기위해 아파치(Apache)도 한번 재시작을 합니다.

BASH

[root@localhost html]# service httpd restart

 

Redirecting to /bin/systemctl restart httpd.service

 

 

 

3. Maria DB 구동 및 설정

 

[root@localhost ~]# systemctl start mariadb

 

[root@localhost ~]# ps -ef | grep maria mysql 18447 18290 1 17:08 ? 00:00:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock root 18481 2983 0 17:09 pts/1 00:00:00 grep --color=auto maria

 

 

 

Maria DB 기본설정 (DB가 구동된 상태에서 진행가능)

 

 

[root@localhost ~]# mysql_secure_installation

 

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it,

we'll need the current password for the root user.

If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank,

so you should just press enter here.

 

Enter current password for root (enter for none): 패스워드가 없기때문에 엔터

 

OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] Y (DB ROOT 패스워드 설정)

New password: 패스워드입력

Re-enter new password: 재확인 패스워드입력

Password updated successfully!

Reloading privilege tables.. ... Success!

 

By default, a MariaDB installation has an anonymous user,

allowing anyone to log into MariaDB without having to have a user account created for them.

This is intended only for testing, and to make the installation go a bit smoother.

You should remove them before moving into a production environment.

Remove anonymous users? [Y/n] Y (익명의 접근을 막을것인지? 보안을 위해 Y 엔터) .

.. Success!

 

Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y (DB ROOT 원격을 막을것인지? 보안을 위해 Y 엔터)

... Success!

 

By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment.

 

 

 

 

Remove test database and access to it? [Y/n] Y (Test 용으로 생성된 데이터베이스를 삭제할것인가? Y 엔터)

- Dropping test database... ...

Success! -

 

Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately.

 

Reload privilege tables now? [Y/n] Y (현재 설정한 값을 적용할것인지? 당연히 Y 엔터)

... Success!

Cleaning up...

 

All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB! (끝)

 

 

 

Maria DB 최종 접속 확인

 

[root@localhost ~]# mysql -u root -p Enter password: 패스워드 입력

 

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 10

Server version: 5.5.52-MariaDB MariaDB Server

 

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

MariaDB [(none)]> quit

 

[참고]

 

Maria(Mysql) 환경설정을 관리하는 파일은 아래의 경로입니다.

[root@localhost ~]# vi /etc/my.cnf

 

my.cnf 파일설정은 사용할려는 DB환경에 맞게 튜닝을 해야하지만 현재는 기본셋팅으로 갑니다. 나중에 따로 설명하도록 하겠습니다.

'linux > CentOS' 카테고리의 다른 글

[CentOS7 APM 설치]  (0) 2020.06.16
CentOS 7 firewall 방화벽 설정  (0) 2020.04.01
CentOS 6 초기 세팅(2)  (0) 2020.03.15
CentOS7 - 초기 세팅(2)  (0) 2020.03.15
CentOS7 - 초기 세팅(1)  (0) 2020.03.15