내 서버를 돌려보자 그누보드 설치 성공기 V 2.1.5 (준비물: USB 저장장치) > 그누보드5 팁자료실

그누보드5 팁자료실

내 서버를 돌려보자 그누보드 설치 성공기 V 2.1.5 (준비물: USB 저장장치) 정보

내 서버를 돌려보자 그누보드 설치 성공기 V 2.1.5 (준비물: USB 저장장치)

본문

컴퓨터 2대를 사용했습니다.(한쪽은 검색용)
처음에 OS 를 설치해야 겠죠?
전 centos를 선택했습니다. kali, ubuntu, fedora 다 써 봤는데
설치 순조롭고 빠르고 안정적인건 centos 같습니다. 페도라도 좋은데 php 가 7.0 이라 호환이 안되는 앱이 있어서 스킵..
설치 과정은 대충 이렇습니다.
centos 를 다운로드 받는다.
centos.org 로 접속합니다.
If the above is not for you, alternative downloads might be.
alternative downloads 클릭
가장 윗 편에 있는 LiveGNOME 다운로드
http://buildlogs.centos.org/rolling/7/isos/x86_64/CentOS-7-x86_64-LiveGNOME.iso
후에 USB 로 부팅 할 수 있게 해주는 UUI 다운로드
https://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/ 방문
설치하시고 실행시키신 다음에 (Step 1 에서 Centos 고르시고, Step 2 는 다운로드 받으신 iso 파일을 설치 Step 3 USB 장치 선택 등등...)
이제  USB에 부팅 가능한 Centos iso 파일들이 들어있죠?
설치합니다.
부팅 시키고 Centos 어쩌고 저쩌고 엔터.
그리고 GUI 버전이기 때문에 설치하기 쉬울 것입니다. (설마 여기서 막히진 않으시겠죠? 앞으로 막힐 날이 많은데...)
다 설치하셨으면 다시 리붓 들어갑니다. 그리고 새 Centos 7 이 설치가 완료 되었습니다.
프로그램 -> 즐겨찾기 -> Terminal
yum install httpd, yum install php, yum install bind bind-utils, yum install php-mysqlnd, yum install php-soap, yum install php-gd, yum install php-mbstring 등을 설치합니다.
후에 mysql을 설치합니다.
rpm -ivh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
yum install -y mysql-server
mysql_secure_installation (전체 다 Y로... 패스워드 설정하는 곳이 있습니다. service mysqld start 하신 후에 mysql_secure_installation 하셔야 합니다.)
참고로 yum 은 센토스(레드헷 계열 리눅스들)의 인스톨러 라고 보시면 됩니다.
이제 공유기에서 포트포워딩을 합니다. 포트포워딩 방법은 공유기마다 다르니 구글에서 검색 해보세요. (TCP: 20,21,22,25,443,143,993,995,110,587,1024,10000, TCP & UDP: 53,80,3306)
방화벽은 3개가 있는데 모두 안쓸 예정입니다. (전 fail2ban 에 firewalld 사용합니다.)
Selinux, Firewalld, Iptables 모두 꺼줍니다. (나중에 감이 올때쯤 해서 키도록 하세요.)
gedit /etc/sysconfig/selinux 해서 enforcing 을 disabled 로 바꿔줍니다. service firewalld stop, yum install iptables-services, service iptables stop. firewalld 사용시 service firewalld start 하시고 왼쪽 상단에 프로그램 -> 잡다 -> 방화벽 클릭 하시고 설정 런타임 영구적 둘다 세팅해줍니다. 서비스, 포트, 프로토콜, 소스 포트 에서 서비스 클릭하시고 http, https, ftp 등 필요한 것들을 체크해 줍니다. 포트는 위에 포트포워딩 할 때 사용한 TCP 포트들과 TCP & UDP 포트들을 기입해 주시면 될 듯합니다.
service httpd start 해주시고 service mysqld start, service named start 를 해줘야 서버가 돌아갑니다.
부팅 때 자동으로 서버를 돌리려면 chkconfig httpd on, chkconfig mysqld on, chkconfig named on 해주십시오.
이쯤되서 리붓한번 해줍니다.

이제 내 외부 아이피로 접속이 될겁니다. 외부 아이피로 접속이 안된다면 포트포워딩이 틀렸거나 방화벽 설정이 제대로 안되어 있어서 그럽니다. 방화벽을 모두 꺼보시고 다시 시도해 보세요.
내 외부 아이피를 모르시면 https://www.whatismyip.com/ 들어가 보세요.
외부 아이피는 중요합니다. 외부에서 접속할 때 이 외부 아이피로 들어와서 접속합니다.

파이어폭스에서 외부 아이피로 접속을 시도해 봅니다. 테스트 페이지가 뜨면 성공적으로 설치된 겁니다.

아무것도 안뜨거나 오류가 있으면 처음부터 다시 시도 또는 리플 남겨주세요.

대부분 안되는 이유는 방화벽 때문입니다. 또는 포트포워딩 또는 service httpd start 를 안해줘서 그럽니다.

GD Library 2.0 이상, iconv, cURL, JSON, SOAP, openssl 모두 설치가 되어 있을겁니다.

혹시 안되면 phpinfo.php 란 파일을 만들어서 <?php phpinfo(); ?> 내용을 삽입하고 루트(var/www/html)에 올려서

외부아이피/phpinfo.php 를 해줘서 확인해 줍니다. GD Library 2.0 이상, iconv, cURL, JSON, SOAP, openssl 모두 깔려있는지 확인하십시오.

후에 그누보드를 다운로드 받습니다. 압축을 풀고 설치 설명서 대로 설치를 합니다.
data 폴더 만들고 chmod 777 해주고...... 휴~ 계정 만들고 적고...... (/var/www/html 에 그누를 올립니다.)
문제가 없다면 그냥 설치가 될 것입니다. 문제들은 리플에 달아주세요. 최대한 빨리 답변 드리도록 노력하겠습니다.
그 전에 해야할 일이 있습니다. phpmyadmin을 설치하는 것이죠.. 그 내용은 바로 아래에 있습니다.

phpmyadmin을 설치해 줍니다. rpm -iUvh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install phpmyadmin
gedit /etc/httpd/conf.d/phpMyAdmin.conf 하시고 아래와 같이 수정합니다.

# phpMyAdmin - Web based MySQL browser written in php
#
# Allows only localhost by default
#
# But allowing phpMyAdmin to anyone other than localhost should be considered
# dangerous unless properly secured by SSL

#Alias /phpMyAdmin /usr/share/phpMyAdmin
#Alias /phpmyadmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       #Require ip 127.0.0.1
       #Require ip ::1
        Require all granted
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip 127.0.0.1
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

# These directories do not require access over HTTP - taken from the original
# phpMyAdmin upstream tarball
#
<Directory /usr/share/phpMyAdmin/libraries/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

<Directory /usr/share/phpMyAdmin/setup/lib/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

<Directory /usr/share/phpMyAdmin/setup/frames/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

# This configuration prevents mod_security at phpMyAdmin directories from
# filtering SQL etc.  This may break your mod_security implementation.
#
#<IfModule mod_security.c>
#    <Directory /usr/share/phpMyAdmin/>
#        SecRuleInheritance Off
#    </Directory>
#</IfModule>
#끝

Alias /phpmyadmin /usr/share/phpMyAdmin 부분을 원하시는 디렉토리명으로 수정합니다. (/phpmyadmin 이 부분입니다.)

그리고 service httpd restart 이걸로 안되면 리붓해 줍니다.

http://외부아이피/phpmyadmin 하시면 접속이 됩니다. (원하는 디렉토리명으로 접속하세요. 예) http://외부아이피/위에서바꾼원하는디렉토리명)

후에 database를 생성해 줍니다. 그리고 그누보드 설치할 때에 database 명을 넣어주면 됩니다.

그리고 그누보드5 설치를 마칩니다.

안되면 /var/www/html 에서 chown -R apache:apache data 터미널에서 해줍니다.

그리고 이제 httpd, php, mysql 설정을 할 것입니다.
gedit /etc/httpd/conf/httpd.conf 후에 아래와 같이 수정해줍니다.
ServerName *외부아이피*:443 (httpd.conf에 추가)
ServerName *외부아이피*:80 (httpd.conf에 추가)
AllowOverride None 다 찾아서 AllowOverride All 로 바꾸기 (.htaccess 사용하기 위함입니다.)
httpd.conf 수정이 거의 완료.
/etc/php.ini 수정
max_execution_time 약간 늘리고 max_input_time 약간 늘리고, memory_limit 늘려주고, display_errors = Off (on으로 바꾸시면 에러 내용이 보여서 문제 해결을 할 수 가 있습니다.)
post_max_size 약간 늘려주고, upload_max_filesize 약간 늘려주고, max_file_uploads 약간 늘려주고... php.ini 설정 끝
bind (named) 설치할 차례...


패널 Webmin을 깔아줍니다. (안깔아도 된답니다만 나중을 위해서라도 깔아주세요. 익숙해지는데 1~3주 걸렸습니다. 정작 사용하는 것은 첫 페이지와 Apache Webserver, BIND DNS Server, Fail2ban, SSH Server, Sendmail, Users and Groups, Running Processes, Scheduled Cron Jobs, ProFTPD Server 등입니다.)

gedit /etc/yum.repos.d/webmin.repo (terminal에 타입합니다.)

[Webmin]
name=Webmin Distribution Neutral
#baseurl=http://download.webmin.com/download/yum
mirrorlist=http://download.webmin.com/download/yum/mirrorlist
enabled=1

webmin.repo에 위 코드 추가 (webmin.repo 파일을 생성하는 겁니다.) 저장 후 나오기...
wget http://www.webmin.com/jcameron-key.asc
rpm --import jcameron-key.asc
yum -y install webmin
service webmin start
chkconfig webmin on

https://외부아이피:10000 으로 웹민으로 접속이 가능합니다. 웹민은 https 에서만 돌아갑니다. 안되면 방화벽에서 포트에 10000이 오픈되어 있는지 확인합니다. (공유기 포트포워딩도...)

웹민이 이상한 에러로 안될 때는 웹민을 구버전으로 설치하시면 에러 없을겁니다.

https://www.youtube.com/watch?v=PBMQVsoEgik
https://www.youtube.com/watch?v=jmcNUNA_B88
잘 보고 잘 따라합니다. (DNS 설정 하는 방법입니다.) BIND라 하옵니다. (웹민에서 사용) DNS 설정 툴이죠... 중요한 것은 도메인 구입한 곳에서 PRIVATE NAMESERVER 에 아이피를 등록하셔야 됩니다. 또는 그와 비슷한 서비스가 있을 것입니다. 당연히 있습니다.
그러니까 도메인 설정하는 겁니다. 다 정상으로 세팅하고 named 재시작 하셨다면 내도메인.com 또는 .net 등등으로 접속이 될겁니다. (아래에 httpd.conf 파일에 아래 소스를 넣어주셔야 됩니다.)
그리고 BIND 설정하는 도중에 RNDC 관련된 에러가 뜨면 웹민 BIND DNS Server 에서 Setup RNDC 해주면 됩니다.
혹 안되면 service httpd restart, service mysqld restart, service named restart 하시고 그래도 안되면 리붓해 줍니다.

httpd.conf 수정합니다.

gedit /etc/httpd/conf/httpd.conf
가장 하단에

<VirtualHost *:80>
ServerName 내도메인.com
ServerAlias www.내도메인.com
DocumentRoot /var/www/html
ScriptAlias /cgi-bin /var/www/html/cgi-bin
<Directory "/var/www/html">
 AllowOverride All
Require all granted
</Directory>
</VirtualHost>

#아래 코드는 https 사용하실 때 기입해 줍니다.

<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName 내도메인.com
ServerAlias www.내도메인.com
DocumentRoot /var/www/html
ScriptAlias /cgi-bin /var/www/html/cgi-bin
<Directory "/var/www/html">
 AllowOverride All
Require all granted
</Directory>
SSLCertificateFile /etc/letsencrypt/live/sshdd.com/cert.pem
#sshdd.com 에 certbot --apache -d 도메인.com -d www.도메인.com 하실 때 처음 기입하신 도메인.com을 기입해 줍니다. 아래에 방법 나와있습니다. 이 라인은 삭제해 주십시오.
SSLCertificateKeyFile /etc/letsencrypt/live/sshdd.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateChainFile /etc/letsencrypt/live/sshdd.com/chain.pem

</VirtualHost>
</IfModule>

#끝

httpd.conf 수정 후에는 service httpd restart 해주셔야 적용이 됩니다.

SSL은 https 적용 때 쓰이는 겁니다. https:// 쓸 일이 없으시면 그냥 <VirtualHost *:80> 로 시작하는 부분만 추가해 주시면 됩니다.
SSLCertificateFile, SSLCertificateKeyFile, Include, SSLCertificateChainFile 삭제 후 SSL 발급받은 후에 다시 삽입해 줍니다. (아마 SSLCertificateFile, SSLCertificateKeyFile, Include, SSLCertificateChainFile 때문에 에러가 날 것입니다. 그러니까 일단 삭제)

자 이제 거의 다 끝났습니다. 문제가 있으면 리플 달아주세요.

SSL(https) 적용 방법입니다.
yum install epel-release
yum install httpd mod_ssl python-certbot-apache
curl 내도메인 (테스트용)
curl -k https://내도메인 (테스트용)
테스트 용입니다. 코드들이 정상 출력되면 되는 겁니다.
certbot --apache -d 내도메인.com -d www.내도메인.com
Congratulations! 가 뜰때까지 기다립니다. (몇가지 설정을 하셔야 합니다.) 이 근처에서도 막히는 부분이 있을겁니다. 막히는 곳이 있으면 구글 검색해 보세요. 또는 리플 달아주세요. dns 에러가 발생하면 웹민에서 bind 설정을 잘못해서 그럴겁니다. 천천히 다시 해보세요. 리스타트 하시는 거 잊지 마시구요. (service named restart)
다 되었으면 위에서 httpd.conf 에
SSLCertificateFile /etc/letsencrypt/live/내도메인.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/내도메인.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateChainFile /etc/letsencrypt/live/내도메인.com/chain.pem
삽입해 줍니다. (certbot --apache -d 내도메인.com -d www.내도메인.com 하시고 Congratulation 이 뜨면 자동으로 삽입이 되어 있을 겁니다.)

이렇게요 그럼 SSL 적용도 끝이 납니다. (리스타트 하시는거 잊지 마세요.)
질문은 리플에 달아주세요. 긴 글 끝까지 읽어주셔서 감사합니다.

 

참고로 서버는 연약한 여자와 같습니다. 살살 다뤄주세요. 막 다루면 서버 금방 죽습니다.

추천
4

댓글 8개

1. 더 간단하게 설치할수 있는 패치 파일이 있습니다.. https://sir.kr/so_server/1597

2. 윈도우용도 http://autoset.net/xe/download_autoset_9_0_0 도 있습니다. ^^

centos는 설치후 1번 파일을 실행하면 더 간단합니다. ^^
우분투 서버 세팅하고 php,mysql 올리고 계정이랑 등록해서 그누보드 설치하려고 하는데, index.php 접근했더니 코드가 노출되어버립니다...-ㅅ-;; 뭘 좀 확인해봐야 할까요? phpinfo.php 열어서 말씀하신 여러 라이브러리들 enable 상태인것도 확인했는데...index.php 접근하면 설치화면으로 가야하는데, 안되는군요 ㅠ
전체 2,424 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT