티스토리 뷰

센토스7, 아파치, PHP, MariaDB의 로고들...(그냥 짤방)

 

서버에 센토스7을 설치했는가?

난 통큰아이에서 새로 서버를 임대했고, 통큰아이에선 Centos7 64bit 버전을 깔아준다.

그래서 난, Centos7 64bit에 Apache2.4와 PHP7, 그리고 MariaDB 10을 설치해 웹 서버를 운용하려 한다.

 

1. YUM 설치를 도와줄 저장소 설치

기본적으로 센토스7에서 제공하는 APM은 최신버전이 아니다. 그냥 yum install php 이런식으로 깔면 아마 5.4나 5.5가 깔릴 것이다. 난 무조건 최신을 좋아하므로 열라 빠르다는 PHP7을 설치하기 위해 간편한 레미저장소의 힘을 빌리기로 했다.

# yum install epel-release

# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

# rpm -Uvh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

(센토스6 사용자는 위 저장소 주소에서 7을 6으로 바꿔주면 된다)

 

2. Apache 2.4.6 설치

좀전에 준비한 저장소를 이용해 설치한다.

# yum --enablerepo=epel,remi install httpd


요건 아파치 시작하기 / 정지 / 재시작 / 서버리붓하면 자동실행

# systemctl start httpd

# systemctl stop httpd

# systemctl restart httpd

# systemctl enable httpd


아파치 설정.

아파치 설정파일을 에디터로 연다

# vi /etc/httpd/conf/httpd.conf


막간 vi에디터 안내

i를 누르면 수정 가능, ESC키를 누르면 수정화면에서 나오고 :q(그냥 나오기) :wq(저장하고 나오기)

PUTTY쓰시는 분들은 어디서든 마우스 우클릭하면 다른데서 복사한 것을 붙여넣기 하실 수 있다.


-해당하는 부분만 고쳐준다


User nobody

Group nobody


ServerAdmin donza@forcatmon.com


ServerName localhost


서버에 noye라는 계정이 있다면 폴더 접근 권한을 주어야 한다.

<Directory "/home/noye">

AllowOverride All

Require all granted

</Directory>


짧은 주소를 이용하고 싶다면 추가

LoadModule rewrite_module modules/mod_rewrite.so


80포트(http)로 들어오는 모든 친구들 중에 noye.kr로 접속한 친구는 /home/noye/html로 보내줘~ 라는 뜻이다

계정을 추가하는 만큼 추가해준다

<VirtualHost *:80>

ServerAdmin donza@forcatmon.com

DocumentRoot /home/noye/html/

ServerName noye.kr

</VirtualHost>


끝나면 ESC키로 수정모드를 빠져나와 :wq엔터로 저장 후 끈다.

그리고 아파치 재시작

# systemctl restart httpd

 

3. PHP 7 설치

먼저 PHP7 본패키지를 설치.

# yum install php70w


기타 잡것들 설치.(더 필요한 분은 yum search php70w명령으로 찾아보고 설치)

# yum install php70w-mysql php70w-xml php70w-soap php70w-xmlrpc 

# yum install php70w-mbstring php70w-json php70w-gd php70w-mcrypt

# yum install php70w-mysql


PHP 설정

# vi /etc/php.ini


PHP메모리 원하는 만큼

memory_limit = 128M


포스트 하나당 총 파일사이즈(고로 파일첨부 최대 사이즈보다 커야함)

post_max_size = 30M


파일첨부 최대 사이즈

upload_max_filesize = 20M

MySQL 이용을 위한 폴더 권한 설정

# chmod 777 /var/lib/php/session/


아파치 재시작 한번~

# systemctl restart httpd.service

 

 

4. MariaDB 10 설치


설치 전, 해당 내용으로 저장소 파일을 만든다.

# vi /etc/yum.repos.d/MariaDB.repo 


[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 mariadb-server

# systemctl start mysql

# mysql_secure_installation

 

 

5. 설치된 버전을 확인하고 뿌듯함을 느낀다.


버전 확인은 -v

# php -v


PHP 7.0.3 (cli) (built: Feb  4 2016 20:50:17) ( NTS )

Copyright (c) 1997-2016 The PHP Group

Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies


# httpd -v


Server version: Apache/2.4.6 (CentOS)

Server built:   Nov 19 2015 21:43:13


# mysql -V


mysql  Ver 15.1 Distrib 10.0.24-MariaDB, for Linux (x86_64) using readline 5.1


6. 계정을 만들어볼까?

계정을 만든다

# useradd noye

# passwd noye


이때 /home에 생긴 /noye 폴더의 권한이 755인지 확인한다.(아니라면 403페이지를 볼 듯)

# chmod 755 /home/noye


DB에도 계정에서 사용할 테이블을 만들어 준다.

mysql접속

# mysql -u root -p


noye 사용자가 noye테이블을 사용 할 수 있게끔 설정


MariaDB [(none)]> create database noye;

Query OK, 1 row affected (0.00 sec)


MariaDB [(none)]> create user 'noye'@'%' identified by '비번';

Query OK, 0 rows affected (0.00 sec)


MariaDB [(none)]> create user 'noye'@'localhost' identified by '비번';

Query OK, 0 rows affected (0.00 sec)


MariaDB [(none)]> flush privileges;

Query OK, 0 rows affected (0.00 sec)


MariaDB [(none)]> grant all privileges on noye.* to 'noye'@'%';

Query OK, 0 rows affected (0.00 sec)


MariaDB [(none)]> grant all privileges on noye.* to 'noye'@'localhost';

Query OK, 0 rows affected (0.00 sec)

 

#. 각종 에러 모음

에러 있으신 분들 남겨 주시면 제가 아는 만큼 답을 올려놓겠습니다

#

 

저작자 표시
신고

'웹디자인 > 서버' 카테고리의 다른 글

Centos7 APM설치 총정리  (5) 2017.02.20
댓글
  • 프로필사진 wotlrl 안녕하세요
    이 글의 도움을 받으며 하나씩 진도를 나가고 있는 중 입니다.
    아파치 설정 부분에서
    에디터를 vi로 여는것 까지는 성공했으나,
    해당하는 부분을 고치라고 하셨는데
    어디에다가 저걸 추가해야하는지 잘 모르겠습니다..
    제가 리눅스 입문자라 정말 아무것도 몰라서요..ㅠㅠㅠ

    =========================================================
    -해당하는 부분만 고쳐준다

    User nobody

    Group nobody

    ServerAdmin donza@forcatmon.com

    ServerName localhost

    서버에 noye라는 계정이 있다면 폴더 접근 권한을 주어야 한다.

    <Directory "/home/noye">

    AllowOverride All

    Require all granted

    </Directory>

    짧은 주소를 이용하고 싶다면 추가

    LoadModule rewrite_module modules/mod_rewrite.so

    80포트(http)로 들어오는 모든 친구들 중에 noye.kr로 접속한 친구는 /home/noye/html로 보내줘~ 라는 뜻이다

    계정을 추가하는 만큼 추가해준다

    <VirtualHost *:80>

    ServerAdmin donza@forcatmon.com

    DocumentRoot /home/noye/html/

    ServerName noye.kr

    </VirtualHost>
    ============================================

    이걸 어디에다가 집어넣어야하나요..?ㅠㅠ

    그리고 noye라는 계정은 처음 센토스를 깔때 만드는 사용자 계정을 말하는 건가요..?
    계정이 없다면 그냥 안 넣어도 되는지..?
    짧은 주소를 이용한다는 말이 무슨말인지..?
    번거로우시겠지만
    초심자가 이해하도록 알기쉽게
    답변 주시면 감사하겠습니다ㅠㅠ!!
    2017.07.07 16:22 신고
  • 프로필사진 donza 안녕하세요~
    먼저 위에 유저 그룹 서버어드민 서버네임 정의하는 부분은 있는 부분을 고쳐주시면 되구요.

    서버를 그냥 통으로 돌릴수도 있지만
    우리가 호스팅 업체에서 호스팅을 받듯 아이디를 하나씩 부여해서 서버 공간을 쪼개서 운영할 수도 있습니다. noye 계정의 예시는 바로 그런거구요

    짧은 주소라는건 지금 보시는 포스팅 주소가 donza.net/1 인 것처럼
    쓰시는 CMS에 따라서 페이지 주소를 간편하게 줄여주는 기능을 사용하려고 하실 때 리라이트 모듈을 추가해 주는 부분입니다.

    계정의 디렉토리 지정은 찾아보시면 기존 위치가 있을거구요

    버추얼호스트는 아래쪽에 있을겁니다.

    다 자리가 있습니다.
    파일 안에 주석의 형태로 모두 영문으로 설명이 있기 때문에 해당하는 자리에서 작성하시면 됩니다.
    2017.07.07 16:45 신고
  • 프로필사진 wotlrl 답변 감사드립니다ㅠㅠ!

    vi는 이제 해결이 됬는데

    아파치 시작/중지/재시작 등등..
    # systemctl ~~ httpd 할때
    ob for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.

    이렇게 자꾸 오류가 나거든요ㅠㅠ
    OS포맷하고 다시 초기화해서
    처음부터 차근차근 했는데
    왜 오류가 나는지 모르겠네요 ㅠㅠ
    2017.07.07 20:23 신고
  • 프로필사진 donza 명령어가 제대로 입력된건가요?
    리눅스 버전마다 프로그램 구동하는 명령어가 다르니 버전 확인하시고 거기에 맞는 명령어로 아파치를 켜보세요
    2017.07.09 00:03 신고
  • 프로필사진 비밀댓글입니다 2017.08.19 10:22
댓글쓰기 폼