내 서버를 돌려보자 그누보드 설치 성공기 V 1.7.5 > 그누보드5 팁자료실

그누보드5 팁자료실

내 서버를 돌려보자 그누보드 설치 성공기 V 1.7.5 정보

내 서버를 돌려보자 그누보드 설치 성공기 V 1.7.5

본문

컴퓨터 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 mysql, yum install php-mysqlnd 등을 설치합니다.
참고로 yum 은 센토스(레드헷 계열 리눅스들)의 인스톨러 라고 보시면 됩니다.
이제 공유기에서 포트포워딩을 합니다. 일단 53, 80, 443, 3306 포트만 열어주면 될 것 같습니다.
포트포워딩 방법은 검색 해보세요. (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 mysql start, service mysqld start, service named start 를 해줘야 서버가 돌아갑니다.
내 외부 아이피를 모르시면 https://www.whatismyip.com/ 들어가 보세요.
외부 아이피는 중요합니다. 외부에서 접속할 때 이 외부 아이피로 들어와서 접속합니다.

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

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

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

막간에 yum isntall php-soap 설치를 해줍니다. php-gd 도 설치합니다. php-mbstring 도 설치해 줍니다.

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

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

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

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

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

그리고 이제 httpd, php, mysql 설정을 할 것입니다.
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 설정 끝
그리고 named 수정할 차례... (쉬는 시간좀 갇겠습니다.)
돌아왔습니다.
참... 호스트 파일 변경해야 합니다. (gedit /etc/hosts)
xxx.xxx.xx.xxx (외부아이피)  hostname(호스트이름)
xxx.xxx.xx.xxx  www
xxx.xxx.xx.xxx  mydomain.com
127.0.0.1        localhost (hostname 입니다.)
::1        localhost (hostname 입니다.)
대충 이런식으로 작성해 줍니다.

그리고 이제 패널 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 파일을 추가하는 겁니다.) 그리고 위에 코드를 붙여넣기 하시고 저장하세요.
wget http://www.webmin.com/jcameron-key.asc (terminal 에 타입)
rpm --import jcameron-key.asc (terminal 에 타입)
yum -y install webmin (terminal 에 타입)
service webmin start (terminal 에 타입)
chkconfig webmin on (terminal 에 타입)

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

가끔 안되는 항목이 있으면 리붓한 다음에 다시 시도해 보시기 바랍니다. 가끔 리붓이 필요한 항목들이 있는데 정확히 모릅니다.
설치하고 service httpd restart, service mysql restart, service named restart 해줍니다.
아 참.. mysqli 에러가 나기 때문에 yum remove mysql 해주고 yum install php-mysqlnd 해줘서 mysql 을 바꿉니다. (service httpd restart, service mysql restart, service mysqld restart)
yum -y install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm (terminal 에 타입)
yum -y install mysql-community-server (terminal 에 타입)
systemctl start mysqld (terminal 에 타입)
systemctl enable mysqld (terminal 에 타입)
mysql (mysql -u root -p 후 비번 입력)
mysql 접속 후에
update user set password=password('암호') where user='root'
root 유저의 암호를 변경합니다. 꼭 해야만 합니다. 암호에 원하시는 암호를 삽입하세요. (또는 터미널에서 mysql_secure_installation 하셔도 됩니다. 자동으로 이것저것 설정해 줍니다.)
flush privileges; (mysql에서 삽입)

exit (mysql에서 삽입)

역시 막히는 부분이 있으면 리플 남겨주세요. 이 근처에서 막히는 부분이 있을텐데 해결하셨나요? 아니면 구글에서 검색 또는 리플 ^^

하시고 phpmyadmin을 설치해 줍니다.

yum install phpmyadmin 하시고 http://외부아이피/phpmyadmin 하시면 접속이 됩니다. 안되거나 보안상 phpmyadmin 주소를 바꿔주기 위해서는 구글 검색해 보시기 바랍니다.
phpmyadmin 사용 안하셔도 되는데 mysql, database 를 쉽게 사용하려면 해야 합니다.
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>


<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/sshdtorrent.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/sshdtorrent.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateChainFile /etc/letsencrypt/live/sshdtorrent.com/chain.pem

SSL은 https 적용 때 쓰이는 겁니다. https:// 쓸 일이 없으시면 그냥 <VirtualHost *:80> 로 시작하는 부분만 추가해 주시면 됩니다. 또는 SSL때문에 막히는 부분이 있으면 일단 *:80 내용 먼저 사용해 보십시오.
SSLCertificateFile, SSLCertificateKeyFile, Include, SSLCertificateChainFile 주석처리 또는 삭제 후 SSL 발급받은 후에 다시 삽입해 줍니다. (아마 SSLCertificateFile, SSLCertificateKeyFile, Include, SSLCertificateChainFile 때문에 에러가 날 것입니다. 그러니까 일단 삭제 또는 주석 처리)
추가
후에
https://www.youtube.com/watch?v=PBMQVsoEgik
https://www.youtube.com/watch?v=jmcNUNA_B88
잘 보고 잘 따라합니다. (DNS 설정 하는 방법입니다.) BIND라 하옵니다. (웹민에서 사용) DNS 설정 툴이죠... 중요한 것은 도메인 구입한 곳에서 PRIVATE NAMESERVER 에 아이피를 등록하셔야 됩니다. 또는 그와 비슷한 서비스가 있을 것입니다. 당연히 있습니다.
NO-IP.com 에 DDNS도 고려해 보세요. 도메인이 있다면 Managed DNS에 가입하세요.

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

service httpd restart, service mysql restart, service mysqld restart, service named restart 해줍니다. (가끔 리붓이 필요한 설정들이 있으니 막힐 때는 리붓 후 다시 시도해 줍니다.)

SSL(https) 적용 방법입니다.
yum install epel-release
yum install httpd mod_ssl python-certbot-apache
curl 내도메인 (테스트용)
curl -k https://내도메인 (테스트용)
테스트 용입니다. 코드들이 정상 출력되면 되는 겁니다.
certbot --apache -d 내도메인 -d www.내도메인
Congratulations! 가 뜰때까지 기다립니다. (몇가지 설정을 하셔야 합니다.) 이 근처에서도 막히는 부분이 있을겁니다. 막히는 곳이 있으면 구글 검색해 보세요. 또는 리플 달아주세요.
다 되었으면 위에서 httpd.conf 에
//SSLCertificateFile /etc/letsencrypt/live/내도메인/cert.pem
//SSLCertificateKeyFile /etc/letsencrypt/live/내도메인/privkey.pem
//Include /etc/letsencrypt/options-ssl-apache.conf
//SSLCertificateChainFile /etc/letsencrypt/live/내도메인/chain.pem
주석을 제거해 줍니다. (삭제하셨다면 삽입해 줍니다.)
SSLCertificateFile /etc/letsencrypt/live/내도메인/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/내도메인/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateChainFile /etc/letsencrypt/live/내도메인/chain.pem
이렇게요 그럼 SSL 적용도 끝이 납니다.
질문은 리플에 달아주세요.
추천
5

댓글 8개

전체 2,429 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

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