• 목록
  • 아래로
  • 위로
  • 0
  • LuisK
  • 조회 수 961

평소에 서버를 가지고 노는걸 좋아하는것도 있지만 아직 배우는 입장이다보니 이것저것 보고는 있는데

간혹 정확하지 않거나 하는 글들이 있어서 애먹은 적이 한두번이 아니다..

 

그래서 조금씩 정리해보려 한다.

 

우선 리눅스OS가 세팅되어있다는 가정하에 이 글을 시작할 생각이다.

 

이번 서버세팅을 위해 사용하는 프로그램은 아래와 같다

 

( 터미널 ) : Putty

( FTP ) 파일질라

 

 

 

1. APM ( Apache + PHP + Mysql ) 을 설치한다.

 

아파치, MYSQL , PHP을 순서대로 APM을 설치한다.

이유는 아마 아파치가 주 모듈이기에 먼저 설치하고 MYSQL이 있어야 PHP에 물릴 수 있어서 인가?

그렇다면  PHP먼저 하면 안되나.. 순서만 다르게..

나중에 해봐야겠다.

 

※ ( 2016.03.07 추가)

따로 순서를 바꿔도 문제가 없는듯 하다, 왜냐면 어짜피 따로 별개로 실행할 것도 아니고, 순차적으로 실행 할 것이기 때문에 설치를 바꾸더래도 실행순서에 따라 차이가 있나보다.

 

 

 

각각 입력해야 하는 명령어는 다음과 같다.

 

- 아파치 설치

yum install -y install httpd ( 아파치)

- MYSQL설치

yum install -y install mysql (MYSQL)

- PHP설치

yum install -y install php (PHP)

 

여기서 잠깐 말을 붙이자면 yum이 기본적으로 사용이 가능해야하고, yum install 에서 붙는 -y는 나중에 Y를 누르기 귀찮기 떄문에 미리 Accept를 하기 위해 -y를 붙였다.

 

APM설치가 끝났다면 이제 APM관련 라이브러리를 설치해야한다.

APM만 설치해서 웹서비스를 시작할 줄 알았다면 진작에 집어치워라.

 

2. APM관련 라이브러리를 설치한다

 

각 실행하야 하는 명령어는 다음과 같다.

 

 yum -y install gd gd-devel

 yum -y install libpng libpng-devel

 yum -y install libjpeg libjpeg-devel

 yum -y install freetype freetype-devel

 yum -y install fontconfig fontconfig-devel

 yum -y install libxml2 libxml2-devel

 yum -y install openssl openssl-devel

 yum -y install gmp gmp-devel

 yum -y install mhash mhash-devel

 yum -y install libmcrypt libmcrypt-devel

 yum -y install mysql-server

 yum -y install php-mysql

 yum -y install php-devel

 yum -y install php-gd

 yum -y install php-mbstring

 yum -y install php-mhash

 

저걸 하나하나씩 하는것도 좋은 방법이지만, 저걸 다 띄워서 한번에 입력하면 순차적으로 설치된다.

그냥 본인 취향대로 쓰는것도 나쁘지 않다.

 

라이브러리를 모두 정상적으로 설치했다면, 이제 아파치 관련은 끝이 났고, MYSQL쪽을 좀 더 해야한다.

 

 

3. MYSQL설정

 

- MYSQL 설정파일을 설정한다

 

기본적으로 MYSQL을 설치하면 MYSQL에 어느정도의 메모리를 할당할것인지 설정해야 하는데 그 파일의 경로는"/usr/share/mysql/"의 경로에 위치해 있으며

각 파일의 이름은 이러하다

 

my-huge.cnf / 1GB이상 메모리를 사용할 수 있거나, 남는 경우

my-large.cnf / 512MB~1GB 이상의 메모리를 사용하거나, 남는경우

my-medium.cnf / 128~256MB 이상의 메모리를 사용하거나, 남는경우

my-small.cnf / 64MB 이상의 메모리를 사용하거나 남는경우

 

 

필자는 128GB의 메모리를 사용할 수 있기때문에 huge파일을 사용헀다.

 

서버 메모리에 맞는 파일을 my.cnf로 바꾸어야 하기 때문에 아래의 명령어를 사용한다.

 

cp /usr/share/mysql/my-huge.cnf  /etc/my.cnf

 

이러면 MYSQL파일 생성은 끝이 났고 이제 기본 DB를 관리하고 권한을 지정해보자

  /usr/bin/mysql_install_db --user=mysql

 chown -R root /usr/bin/

 chgrp -R mysql /usr/bin/

 chown -R mysql /usr/bin/mysql

 

그냥 이러면 끝이 난다.

 

나도 뭐라고 하고 싶은데 이건 설명하기 귀찮을 뿐더러 더 설명했다간 호구취급 하는거 같아서 하지 않기로 했다.

 

그리고 콘솔에서도 mysql명령을 사용하고 싶다면

vi ~/.bash_profile

을 입력해서 파일을 연다음

 

PATH=$PATH:$HOME/bin

 

이 구문을 찾아서

PATH=$PATH:$HOME/bin:/usr/bin 요로코롬 바꿔주면 된다.

 

 

- 부팅시 자동으로 MYSQL을 시작하게 한다.

 

chkconfig --level 2345 mysqld on

 

이렇게 하면 재부팅을 해도 MYSQL을 따로 재시작할 필요가 없어진다.

만약 재대로 설정했는지 알고 싶다면

 

chkconfig --list | grep mysqld

를 입력하면 3306포트에 mysql이 물려있는것을 알 수 있다.

 

 

- MYSQLD 시작 및 ROOT계정의 비밀번호를 설정한다

 

이제 MYSQL을 사용하려면 시작을 해야하고, 시작한다고 다가 아니라 총 관리를 해야하는 ROOT계정의 비밀번호를 설정해야한다.

그리고 이 비밀번호는 절대 잊어버리면 안된다.

나중에 골치아파진다.

 

우선 MYSQLD시작은 다음과 같다.

 

service mysqld start

 

이러면 MYSQLD가 기동될것이다.

그 다음 ROOT계정을 설정 하기 위해서는

 

/usr/bin/mysqladmin -u root password 패스워드

 

의 명령어를 입력하면 설정될것이다.

 

이렇게 모두 설정한 후 동작 확인을 하려면

 

 netstat -lntp

 

를 입력한후 3306의 MYSQL을 확인하면 된다.

 

 

 

 

 

 

4. PHP설정

 

- PHP.CONF의 파일 설정을 하라

 

PHP의 기본 설정을 해야 하는데, 이 파일의 경로는 /etc/httpd/conf.d/php.conf 에 있다

 

이 파일을 vi에서 수정하려면 vi /etc/httpd/conf.d/php.conf 를 입력해서 콘솔단에서 수정하면 되는데 우리가 수정할 내용은 

AddHandler php5-script .php .htm .html

AddType application/x-httpd-php-source .phps .php .htm .html

 

이렇게 수정해주면 된다.

 

그러면 PHP는 끝났다.

 

 

 

5. 아파치설정

 

-httpd.conf의 파일 설정을 하라

 

아파치의 설정 파일은 /etc/httpd/conf/httpd.conf 에 있는데 필자는 vi를 사랑하기 때문에 (?) 다음의 명령어를 사용했다.

vi /etc/httpd/conf/httpd.conf

그 다음 아래의 항목을 본인에 맞게 수정하면 된다.

 

ServerName www.example.com:80            -> 주석제거

도메인이 있다면 ServerName www.naver.com:80 이 될것이다.

 

 

DirectoryIndex index.html index.html.var            =>   DirectoryIndex index.html index.htm index.php

 

 

PHP를 인식하기 위해서 아파치에서는 PHP를 index.php 로 설정해줘야한다.

 

 

AddType application/x-gzip .gz .tgz를 찾아서 다음과 같이 구문을 추가해준다.

 

AddType application/x-httpd-php .htm .html .php .php3 .php4 .inc

AddType application/x-httpd-php-source .phps

 

 

AddHandler cgi-script .cgi 를 찾았다면 이 구문의 주석을 삭제처리해주고..

 

vi를 :wq 하여 저장후 quit 하면 된다.

 

 

 

- 아파치를 부팅시 자동으로 시작하게 설정하라

 

 

아파치는 웹 데몬이기 때문에 재부팅해서 죽으면 안되는 존재이다.

MYSQL도 마찬가지지만..

 

hkconfig --level 2345 httpd on 를 입력하여 시작 프로그램에 올려주고..

 

service httpd start를 하여서 서비스를 실행해주면 된다.

 

 

그래고 아파치가 잘 올라갔는지 확인하려면

netstat -lntp

를 실행하여

 

HTTPD, 80 포트에 올라가 있는지 보면 된다.

 

 

 

 

6. 리눅스의 방화벽을 설정하라

 

기본적으로 리눅스의 기본정책은 모든 포트를 막기 때문에 SQL포트와 아파치 포트를 열어야 한다.

이번에도 마찬가지로 vi로 수정하려면

vi /etc/sysconfig/iptables

 

를 입력하여 방화벽 파일을 열어서

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

 

이 두 구문을 추가 하면 된다.

 

 

그리고 방화벽을 재시작 해야 하는데 재시작 하기 위해서는

service iptables restart

를 입력하면 된다

 

 

7. 아파치의 기본 index파일의 위치를 알아보자

 

 

우리가 여태까지 설명한 APM설치는 yum 설치방법이였다.

따로 뭘 할것 없이 자동으로 설정되기 때문에 기본 HTML의 INDEX파일의 경로는 

/var/www/html

 

에 위치해 하고 있다.

 

또한 각 도메인별로 혹은 한 서버에 여러개의 IP가 물려 있는 경우

 

/etc/httpd/conf/httpd.conf

에서 수정을 따로 할 수 있다.

 

 

** 제 블로그에 있던 글을 옮겨놨기에.. 익숙하실 수도 있습니다.

댓글 0

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [매우 중요 공지] 접속안되는 사태가 발생했습니다. 24 마스터 마스터 2일 전04:10 497
공지 알림판 기능과 로또 기능이 추가 되었습니다. 6 마스터 마스터 20.05.14.00:09 1727
공지 사이트 디자인 변경 안내 19 마스터 마스터 20.05.03.22:16 1981
184 14. 실험실에서 사용하는 기기에 대해 알아보겠츄 8 image 왕뚠뚠돈까스라이츄 title: 이로치 라이츄왕뚠뚠돈까스.. 18.02.25.01:42 3153
183 3.디스코드 봇을 만들어보자 (준비 편) 5 image Doge아시다시피 Doge아시.. 18.02.23.20:57 5160
182 [☆운영체제를 만들어보자☆][Chapter 01] 2. 스택이 뭘까? 스택을 만들어보자. [※연습 문제, 요약 추가] 4 Hygon 18.02.14.16:12 589
181 [☆운영체제를 만들어보자☆][Chapter 01] 1. 16비트 레지스터 살펴보기 8 image Hygon 18.02.09.01:07 901
180 [☆운영체제를 만들어보자☆] 0. 시작하기 전에 7 Hygon 18.02.06.21:03 687
179 13. 풀때기에서 돌연변이를 어떻게 만들까츄 image 왕뚠뚠돈까스라이츄 title: 이로치 라이츄왕뚠뚠돈까스.. 18.01.29.00:04 718
178 #5 | 나무마크 for 미디어위키 14 image title: 은메달도다 18.01.09.22:18 1974
177 네번째 이야기, IDM 으로 파일을 빠르게 다운로드해보자! 9 image TVJ title: 열려라 맛스타의 자물쇠TVJ 18.01.09.22:02 4565
176 12. 돌연변이란 무엇일까츄-변이원 image 왕뚠뚠돈까스라이츄 title: 이로치 라이츄왕뚠뚠돈까스.. 18.01.05.22:57 763
175 웹호스팅에 쉽게 Let's Encrypt 설치하기 (2) - SSL For Free 이용하기 9 image YJSoft title: YJSoft 로고YJSoft 18.01.04.11:31 1436
174 특별편-우울증이란 무엇일까츄 11 image 왕뚠뚠돈까스라이츄 title: 이로치 라이츄왕뚠뚠돈까스.. 17.12.19.23:01 960
173 11. 돌연변이란 무엇인가츄-돌연변이의 종류 6 image 왕뚠뚠돈까스라이츄 title: 이로치 라이츄왕뚠뚠돈까스.. 17.12.17.22:17 956
172 10. 식물도 잠을 잔다? 16 image 왕뚠뚠돈까스라이츄 title: 이로치 라이츄왕뚠뚠돈까스.. 17.12.07.22:27 1588
171 2. 마크다운을 응용하여 글을 써보자 image Doge아시다시피 Doge아시.. 17.12.07.21:04 874
170 9. 한타바이러스였츄 1 image 왕뚠뚠돈까스라이츄 title: 이로치 라이츄왕뚠뚠돈까스.. 17.11.30.16:14 699
169 1.마크다운이란 무엇인가? + OT 6 image Doge아시다시피 Doge아시.. 17.11.26.16:02 849
168 도메인 연결 방식 이해하기 (2) 6 맛스타 title: 생일 케이크 (1년권)맛스타 17.11.21.23:14 1478
167 8. 아미노산에 대해 알아보시츄 8 image 왕뚠뚠돈까스라이츄 title: 이로치 라이츄왕뚠뚠돈까스.. 17.11.21.12:25 1454
166 Hanam09 의 보안(?)강좌(2) 1 Hanam09 Hanam09 17.11.20.17:18 503
165 도메인 연결방식 이해하기 (1) 1 맛스타 title: 생일 케이크 (1년권)맛스타 17.11.19.22:18 899