php7 으로 업그레이드를 하고 나니, 설정파일이 달라져서 용량 큰 파일이 업로드가 되지 않아서 설정을 바꿔줘야 할 필요가 생겼다.


php 7 의 설정 파일의 위치는 아래와 같다.


/etc/php/7.0/apache2/php.ini 


20M 정도 업로드 할 수 있게 수정했다.

아래 항목들 찾아서 확인, 수정하면 되겠다.


file_uploads = On

On 으로 되어있어야 업로드 가능


upload_max_filesize = 20M

업로드 가능한 최대 사이즈


post_max_size = 20M

파일업로드는 POST 방식으로 하니까, post 가능한 크기도 맞춰준다.


max_execution_time = 300

용량 큰 파일을 받아들일 때 당연히 시간이 더 걸릴테니까, 이 값도 늘여주는게 좋다. 

0 으로 하면 실행이 완료될 때까지 무제한 이다.


memory_limit = 128M

스크립트가 잡아먹을 메모리의 한계를 잡아주는 항목인데, 디폴트가 128M로 되어있네? 그냥 뒀다.


이상!



Posted by 똑똑한 영장류

간단하게 정리하면,


1. ubuntu.com 가서 원하는 iso 다운받는다.

2. Universal USB Installer 를 이용해서 USB에 iso 파일을 기록한다.


다운로드는 여기서 받았는데, 

http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/


여기가 제작사 홈페이지인지는 잘 모르겠군.


1.9.6.8 버전은 직접 올려놔야지.


Universal-USB-Installer-1.9.6.8.exe


끝.




Posted by 똑똑한 영장류

메일 서버 세팅을 잘 마쳤고, 이제 웹 메일 클라이언트를 설치한다.



roundcube 이다.


roundcube.net 에 가서 1.2.0 - Complete 의 다운로드 주소를 확인하고, wget 으로 서버에서 바로 받는다.


$ wget https://github.com/roundcube/roundcubemail/releases/download/1.2.0/roundcubemail-1.2.0-complete.tar.gz



www 디렉토리에 옮겨놓고 압축 해제!


디렉토리 이름이 기니까, rc 로 수정!

그럼, roundcube 의 웹 주소는 http://my.kr/rc/가 되겠다. 다르게 해도 상관이 없다. 다른데 숨기고 alias 해도 되겠다.

어쨋든...


phpmyadmin 으로 가서, rc를 위한 데이터베이스 하나 준비해 놓는다.

데이터베이스 이름을 rc로 주고, 사용자도 rc라고 하나 만들어 두자.



브라우저에서 접근! 하는데, rc 아래에 installer 로 접근하자.


예> http://my.kr/rc/installer


첫 화면에서는 인스톨러가 현재 서버의 설정 상태를 체크하고 결과를 보여주는데, 준비가 덜 된 것들은 해결해주고 다음으로 넘어가면 된다.


Intl:  NOT AVAILABLE 이라길래


$ sudo apt-get install php5-intl


LDAP:  NOT AVAILABLE 이라길래


$ sudo apt-get install php5-ldap



date.timezone 이 NOT_OK 라고해서 /etc/php5/apache2/php.ini 를 열고 아래처럼 수정해줬다. 


[Date]

date.timezone = Asia/Seoul


수정후엔 아파치 재시작!


RC 설치 페이지에서 Next!


2. Create Config 화면이다.


Database setup 부분에 가서 미리 준비해둔 데이터베이스 관련 정보를 입력한다.


나머지는 건드리지 않고, 맨 아래 [Create Config]클릭!

상단에 설정 파일 내용이 보인다. 


복사해서 rc/config/config.inc.php 파일로 저장한다.


그리고 다시 설치 페이지로 와서 [Continue] 클릭!


3. Test Config 화면이다.

NOT OK 를 살펴보니....


/home/ryu/www/rc/temp/:  NOT OK(not writeable for the webserver)
/home/ryu/www/rc/logs/:  NOT OK(not writeable for the webserver)


디렉토리에 쓰기 권한을 줘야겠다.


$ chmod o+w logs

$ chmod o+w temp


페이지 새로고침하면 OK 로 바뀐다.


그 다음

DB Schema:  NOT OK(Database not initialized)


바로 아래의 [Initialize database] 클릭!

바로 OK 떨어진다.


그리고, 

메일 전송 테스트 해보고, 

IMAP 로그인 테스트도 해보고,


문제 없으면 이제 http://my.kr/rc/로 접속해서 사용하면 된다.


주의할 점!


첫 로그인 하기 전에!!!!!


rc/config/defaults.inc.php 열어서 아래 부분 true로 수정하자.

메일 삭제하니까, 쓰레기통이 없다고 하는데, 알아서 만들도록 설정하는 거다.


// automatically create the above listed default folders on user login

$config['create_default_folders'] = true;


만약 벌써 로그인을 해 버렸다면, 홈디렉토리 아래 Maildir 아래에 .Trash 라고 만들어주면 된다. 쩜Trash다. 점이 있다.


그리고,,,

보안을 위해 installer 디렉토리를 삭제하던지, 아니면, config.inc.php 파일에 enable_installer 를 disable 해 두는 것이 좋단다.


$config['enable_installer'] = false;


아예 웹 디렉토리 밖으로 옮겨놓는 것을 권장한다.


이상~~!











Posted by 똑똑한 영장류

우분투 14.04에 메일 서버를 세팅하려고 한다.


할 때마다 인터넷 검색하는게 지겨워서 제대로 정리해놓으려는 목적.

다음에 보고, 그냥 따라하면 되도록...


현재 서버의 상태는 apache2, php5, mysql, vsftp, bind9 패키지가 설치되어서 정상 동작하고 있는 상태.


메일서버 세팅하고, roundcube로 웹메일 구현하는 것이 목표다.


postfix는 메일보내기 위한 데몬,

dovecot은 메일 수신을 위한 데몬,

roundcube는 웹메일 클라이언트.


하나하나 해보자.

참고는 http://www.krizna.com/ubuntu/setup-mail-server-ubuntu-14-04 다.


메일주소는 @my.kr 이라고 치고, 메일서버 주소는 서버 도메인명과 같게 할 거다. 따로 mail.my.kr 이렇게 하지 않는다는...


postfix 설치 및 설정


/etc/hostname 에 my.kr 이 할당되어있어야한다.


편집기로 열어서 my.kr 이라고 적어준다.


my.kr


/etc/hosts 에 고정IP와 도메인명을 적어준다.


123.123.123.123 my.kr


이제 postfix 를 설치한다.


$ sudo apt-get install postfix


설치 중에 묻는 것들이 있는데, 그냥 엔터엔터로 설치한다. 이후에 다시 설정을 할 거다.






설치가 끝나면 다시 설정을 한다.


$ sudo dpkg-reconfigure postfix





여기는 메일이 리다이렉트될 실제 관리자 계정 적어주면 된다. 실제 ryu 라는 계정이 sudo를 할 수 있는 관리자 계정이며, 실제 사용자가 아닌 시스템 계정들과 관련된 메일은 이 계정으로 전달된다는 거 같다.








이제 /etc/postfix/main.cf 파일을 수정한다. SMTP-AUTH 어쩌구라는데, 자세한 건 모르겠다. 파일 열어서 추가해주자.


home_mailbox = Maildir/

smtpd_sasl_type = dovecot

smtpd_sasl_path = private/auth

smtpd_sasl_local_domain =

smtpd_sasl_security_options = noanonymous

broken_sasl_auth_clients = yes

smtpd_sasl_auth_enable = yes

smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination

smtp_tls_security_level = may

smtpd_tls_security_level = may

smtp_tls_note_starttls_offer = yes

smtpd_tls_loglevel = 1

smtpd_tls_received_header = yes



터미널에서 아래 명령을 통해 인증서를 만든다.


$ openssl genrsa -des3 -out server.key 2048

$ openssl rsa -in server.key -out server.key.insecure

$ mv server.key server.key.secure

$ mv server.key.insecure server.key

$ openssl req -new -key server.key -out server.csr

$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

$ sudo cp server.crt /etc/ssl/certs

$ sudo cp server.key /etc/ssl/private


인증 파일들을 /etc/ssl 로 복사했다.


postfix에게 이 파일들의 위치를 알려준다.


$ sudo postconf -e 'smtpd_tls_key_file = /etc/ssl/private/server.key'

$ sudo postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/server.crt'


이제 /etc/postfix/master.cf 파일을 열어서 아래 내용처럼 주석처리된 것들을 해제해준다.


submission inet n       -       -       -       -       smtpd

  -o syslog_name=postfix/submission

  -o smtpd_tls_security_level=encrypt

  -o smtpd_sasl_auth_enable=yes

  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject

  -o milter_macro_daemon_name=ORIGINATING

smtps     inet  n       -       n       -       -       smtpd

  -o syslog_name=postfix/smtps

  -o smtpd_tls_wrappermode=yes

  -o smtpd_sasl_auth_enable=yes

  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject

  -o milter_macro_daemon_name=ORIGINATING


dovecot SASL 을 설치한다.


$ sudo apt-get install dovecot-common




/etc/dovecot/conf.d/10-master.conf 파일을 열고 # Postfix smtp-auth 를 찾아 아래처럼 수정한다. 


# Postfix smtp-auth

unix_listener /var/spool/postfix/private/auth {

    mode = 0660

    user = postfix

    group = postfix

}


/etc/dovecot/conf.d/10-auth.conf 열어 auth_mechanisms = plain 을 찾아 아래처럼 수정한다.


auth_mechanisms = plain login


이제 postfix, dovecot 을 재시작한다.


$ sudo service postfix restart

$ sudo service dovecot restart


여기서 테스트!


터미널에서 telnet


$ telnet my.kr smtp

Trying 127.0.1.1...

Connected to my.kr.

Escape character is '^]'.

220 my.kr ESMTP Postfix (Ubuntu)

ehlo my.kr

250-my.kr

250-PIPELINING

250-SIZE 10240000

250-VRFY

250-ETRN

250-STARTTLS

250-AUTH PLAIN LOGIN

250-AUTH=PLAIN LOGIN

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN


요 3개가 나와야된단다.


250-STARTTLS

250-AUTH PLAIN LOGIN

250-AUTH=PLAIN LOGIN


587포트로도 테스트를 해보라는데, 접속은 되지만 결과는 다르게 보인다.


$ telnet my.kr 587

Trying 127.0.1.1...

Connected to my.kr.

Escape character is '^]'.

220 my.kr ESMTP Postfix (Ubuntu)

ehlo my.kr

250-my.kr

250-PIPELINING

250-SIZE 10240000

250-VRFY

250-ETRN

250-STARTTLS

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN


이제 dovecot 본체를 설치한다.


sudo apt-get install dovecot-imapd dovecot-pop3d


/etc/dovecot/conf.d/10-mail.conf 를열어


mail_location = mbox:~/mail:INBOX=/var/mail/%u


를 찾아서 아래처럼 수정한다.


mail_location = maildir:~/Maildir


/etc/dovecot/conf.d/20-pop3.conf 를 열어


#pop3_uidl_format = %08Xu%08Xv 


를 찾아 주석 해제한다.


pop3_uidl_format = %08Xu%08Xv


/etc/dovecot/conf.d/10-ssl.conf 를 열어


#ssl = yes 


를 찾아 주석 해제한다.


ssl = yes


dovecot 재시작!


$ sudo service dovecot restart



pop3와 imap 테스트!

110, 993,995,143 포트에 접속해본다.



$ telnet my.kr 110

Trying 127.0.1.1...

Connected to my.kr.

Escape character is '^]'.

+OK Dovecot (Ubuntu) ready.

^]

telnet> q

Connection closed.

$ telnet my.kr 995

Trying 127.0.1.1...

Connected to my.kr.

Escape character is '^]'.

^]

telnet> q

Connection closed.

$ telnet my.kr 993

Trying 127.0.1.1...

Connected to my.kr.

Escape character is '^]'.

^]

telnet> q

Connection closed.

$ telnet my.kr 143

Trying 127.0.1.1...

Connected to my.kr.

Escape character is '^]'.

* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS LOGINDISABLED] Dovecot (Ubuntu) ready.

^]

telnet>



110, 143은 dovecot 이 리스팅하고 있는데, 993,995는 아니네??


110 : pop3

143 : imap

993 : imaps

995 : pop3s


TLS/SSL 포트라고 나오는데.... 서버가 SSL이 아니라 그런가...?


여기까지 잘 됐으면 메일 송수신은 되어야한다.


mail 명령어로 간단하게 테스트!


$ sudo apt-get install mailutils


$ mail my.other.mail@naver.com

Cc: test

Subject: subject...

this is test message.


$


내용을 다 적고 Ctrl+D 하면 작성완료! 전송이다.


네이버 메일로 잘 날아왔다. 처음 Cc: 에 적은 test 는 test@my.kr 를 가리킨다. 같은 서버에 있는 아이디~!


네이버에서 답장한 메일도 잘 받아졌다. 끝!


아...roundcube 가 남았지?!


너무 길어져서 다음 글에 정리해야겠다.







































Posted by 똑똑한 영장류

phpmyadmin - The mcrypt extension is missing.


phpmyadmin 에 로그인을 했더니, 아래와 같은 찜찜한 메세지가 보인다.


 The mcrypt extension is missing. Please check your PHP configuration.


php 설치할 때, sudo apt-get install php5-mcrypt 를 같이 했는데, 왜 이럴까? 예전엔 이러지 않았는데...


아무튼, 해결방법


$ sudo apt-get install php5-mcrypt

$ sudo php5enmod mcrypt

$ sudo service apache2 restart


오케이. 해결!







Posted by 똑똑한 영장류

phpmyadmin 접속 주소를 변경하고 싶으신가??



$ sudo apt-get install phpmyadmin


접속 주소를 변경하고 싶다는 것은 이미... phpmyadmin을 설치했다는 뜻이겠군.

아마도 위 명령을 이용해서 설치를 했겠지?

저렇게 설치를 하고나면, 곧바로 도메인주소아래에 phpmyadmin 만 붙이면 접속이 가능하다~는 것은 알고 있을테고...


예를 들면 이렇게 말이쥐.

http://mydomain.com/phpmyadmin


나도 저렇게 설치를 했는데, 왠지 phpmyadmin이 너무 길게 느껴진단말이야..

그래서 난 저 주소를 좀 더 짧은 녀석으로 바꾸기로 결심했어.


어디를 손봐야하나...


/etc/phpmyadmin/apache.conf 라는 설정 파일이 있다는군 그래.


믿고, 파일을 열어보면 아래 내용이 보이는군.


Alias /phpmyadmin /usr/share/phpmyadmin


여기서 /phpmyadmin 을 /pma 라고 수정, 저장 후 아파치를 재시작하면 접속주소는 다음과 같이 변경된다네.


http://mydomain.com/pma


조금 짧아졌군.그래..









Posted by 똑똑한 영장류

putty 로 서버에 접속하니, motd 에 뭔가 업데이트할게 있다고 알려줬다.


7 packages can be updated.


위처럼 나오길래, apt-get update, apt-get upgrade 로 모두 업그레이드 시켜줬지만...

다시 로그인하니, 저 메세지가 계속 나왔다.


검색해보니, initscripts 버그라고 한다. /etc/motd.tail 만져주면 해결된다고 한다.



$ sudo touch /etc/motd.tail


이상.



'리눅스 > 우분투' 카테고리의 다른 글

[phpmyadmin] The mcrypt extension is missing.  (0) 2016.01.25
[14.04] phpmyadmin 접속 주소 변경  (0) 2016.01.22
[14.04] motd 오류  (0) 2015.11.12
[14.04] sudo: unable to resolve host  (0) 2015.11.12
[14.04] 호스트네임 변경  (0) 2015.08.04
gd 라이브러리 설치  (0) 2015.05.09


Posted by 똑똑한 영장류

sudo apt-get upgrade 를 쳤더니, 진행은 되는데, 찜찜하게 아래 메시지가 같이 나타났다. 


sudo : unable to resolve host


/etc/hostname

my_hostname


/etc/hosts 에 설정을 해주고 

127.0.1.1  my_hostname


# /etc/init.d/networking restart



해결!



'리눅스 > 우분투' 카테고리의 다른 글

[14.04] phpmyadmin 접속 주소 변경  (0) 2016.01.22
[14.04] motd 오류  (0) 2015.11.12
[14.04] sudo: unable to resolve host  (0) 2015.11.12
[14.04] 호스트네임 변경  (0) 2015.08.04
gd 라이브러리 설치  (0) 2015.05.09
[14.04] openfire 설치  (0) 2015.04.22


Posted by 똑똑한 영장류

우분투에서 호스트네임 변경


콘솔에서 프롬프트 앞에 이상한게 보인다.


boss@VM-84092202SLDKVNL:~/www$ 


호스트네임 변경으로 원하는대로 바꿀 수 있다. 설정파일은 /etc/hostname 이다.


$ sudo nano /etc/hostname


원하는 값으로 적어주고 저장 후, 아래 명령 치고


$ sudo /bin/hostname -F /etc/hostname


다시 로그인하면 /etc/hostname 에 설정한 값으로 보인다.



'리눅스 > 우분투' 카테고리의 다른 글

[14.04] motd 오류  (0) 2015.11.12
[14.04] sudo: unable to resolve host  (0) 2015.11.12
[14.04] 호스트네임 변경  (0) 2015.08.04
gd 라이브러리 설치  (0) 2015.05.09
[14.04] openfire 설치  (0) 2015.04.22
[14.04] 오라클 자바 설치  (0) 2015.04.22


Posted by 똑똑한 영장류

GD 라이브러리 설치하기


$ sudo apt-get install php5-gd


그리고, 아파치 재시작!


$ sudo service apache2 restart



끝!

'리눅스 > 우분투' 카테고리의 다른 글

[14.04] sudo: unable to resolve host  (0) 2015.11.12
[14.04] 호스트네임 변경  (0) 2015.08.04
gd 라이브러리 설치  (0) 2015.05.09
[14.04] openfire 설치  (0) 2015.04.22
[14.04] 오라클 자바 설치  (0) 2015.04.22
[14.04] phpmyadmin 설치  (0) 2015.04.20


Posted by 똑똑한 영장류

openfire 설치


오픈파이어 본부에 가서 다운로드를 받는다.
주소 : http://www.igniterealtime.org/downloads/index.jsp

openfire_3.9.3_all.deb

더블클릭하면 소프트웨어 센터에서 열린다. 설치 클릭!


/etc/openfire 에 설치된다.


브라우저에서 localhost:9090 으로 접속해서 설정 진행한다!



한글이 없으니 English 로 두고 오른쪽에 [Continue]!


도메인 명 입력해주고 계속.


데이터베이스 세팅은 Standard 로 선택하고 진행!

미리 서버에 mysql 사용자 계정으로 openfire도 만들어두고, 데이터베이스 openfire도 만들어둬야한다.


Drive preset 은 MySql 로 선택. (mysql 사용할 것이므로...)

jdbc:mysql://[host-name]:3306/[database-name]?rewriteBatchedStatements=true

는 host-name 에 localhost, database-name 은 openfire 로 대체해서 입력.



ek

다음에서 Profile settings 는 Default 로 두고 계속!


Administration Account 에는 관리자 메일과 암호를 입력해주면 됨. 관리자 아이디는 admin 으로 정해져있음.


설정 끝!





로그인해볼까나..




짜잔~!




많이 살펴봐야겠네.






























'리눅스 > 우분투' 카테고리의 다른 글

[14.04] 호스트네임 변경  (0) 2015.08.04
gd 라이브러리 설치  (0) 2015.05.09
[14.04] openfire 설치  (0) 2015.04.22
[14.04] 오라클 자바 설치  (0) 2015.04.22
[14.04] phpmyadmin 설치  (0) 2015.04.20
[14.04] ssh 설치  (0) 2015.04.14


Posted by 똑똑한 영장류

오라클 자바 설치


$ sudo add-apt-repository ppa:webupd8team/java

$ sudo apt-get update

$ sudo apt-get install oracle-java8-installer

$ sudo apt-get install orable-java8-set-default


설치 다 되면 설치 확인 겸 버전 확인


$ java -version


이상.

'리눅스 > 우분투' 카테고리의 다른 글

gd 라이브러리 설치  (0) 2015.05.09
[14.04] openfire 설치  (0) 2015.04.22
[14.04] 오라클 자바 설치  (0) 2015.04.22
[14.04] phpmyadmin 설치  (0) 2015.04.20
[14.04] ssh 설치  (0) 2015.04.14
[14.04] ftp 서버 설치 - vsftp  (0) 2015.04.13


Posted by 똑똑한 영장류

우분투 14.04 에 phpmyadmin 을 설치하는 방법




$ sudo apt-get install phpmyadmin


설치 중에 mysql 루트 암호 지정해주고, phpmyadmin 계정의 암호 지정해주면 설치는 일사천리~~

아파치 재실행까지 해 준다.


그럼, 어떻게 접속하나???


http://주소/phpmyadmin 하면 접속할 수 있다.


이상~!


'리눅스 > 우분투' 카테고리의 다른 글

[14.04] openfire 설치  (0) 2015.04.22
[14.04] 오라클 자바 설치  (0) 2015.04.22
[14.04] phpmyadmin 설치  (0) 2015.04.20
[14.04] ssh 설치  (0) 2015.04.14
[14.04] ftp 서버 설치 - vsftp  (0) 2015.04.13
[14.04] apache2 설치 후 에러  (0) 2015.04.11


Posted by 똑똑한 영장류

[14.04] ssh 설치


몇가지 서버를 설치했지만, 외부에서 콘솔 접속이 안되니까 불편한 점이 많다.


ssh 를 설치하도록 한다.




$ sudo apt-get install ssh 


설정파일도 손을 봐줘야겠지.


$ sudo nano /etc/ssh/sshd_config


음... 그냥 훑어보고 말자..


윈도우에서 putty 로 접속하니까 잘 된다.



이상~!




'리눅스 > 우분투' 카테고리의 다른 글

[14.04] 오라클 자바 설치  (0) 2015.04.22
[14.04] phpmyadmin 설치  (0) 2015.04.20
[14.04] ssh 설치  (0) 2015.04.14
[14.04] ftp 서버 설치 - vsftp  (0) 2015.04.13
[14.04] apache2 설치 후 에러  (0) 2015.04.11
[14.04] 터미널에서 한글 깨지는 문제 해결  (1) 2015.04.11


Posted by 똑똑한 영장류

[14.04] ftp 서버 설치 - vsftp



예전 글에도 있지만, 다시 작성합니다~


$ sudo apt-get install vsftpd


번쩍하고 설치가 끝나네요.


설정 파일을 약간 손 봐줍시다.


$ sudo nano /etc/vsftpd.conf


아래의 내용을 찾아서 #는 없애주고


local_enable=YES

write_enable=YES

local_umask=022


local_umask 는 원하는 대로 설정하면 되겠습니다.


그 다음엔 vsftpd 를 재시작해줍시다.


$ sudo service vsftpd restart


이상~!


'리눅스 > 우분투' 카테고리의 다른 글

[14.04] phpmyadmin 설치  (0) 2015.04.20
[14.04] ssh 설치  (0) 2015.04.14
[14.04] ftp 서버 설치 - vsftp  (0) 2015.04.13
[14.04] apache2 설치 후 에러  (0) 2015.04.11
[14.04] 터미널에서 한글 깨지는 문제 해결  (1) 2015.04.11
[14.04] 원격 root 로그인 막기  (0) 2015.04.10


Posted by 똑똑한 영장류

[14.04] apache2 설치 후 에러


apache2 재시작할 때 아래처럼 에러가 보이길래 해결하고자 합니다.

저 에러는 치명적인 것은 아닌지 저러고도 apache2는 웹서버 역할은 잘 하고 있네요.





/etc/hosts 파일에

myHostName


/etc/hostname 파일에

127.0.0.1    localhost    myHostName



그리고, ServerName 문제는...

/etc/apache2/apache2.conf 파일을 열어서 마지막에 한 줄 추가해줍니다.


$ sudo nano /etc/apache2/apache2.conf


파일 끝에 ServerName 을 기록해주면 됩니다.


ServerName     myServerName







이상~!


'리눅스 > 우분투' 카테고리의 다른 글

[14.04] ssh 설치  (0) 2015.04.14
[14.04] ftp 서버 설치 - vsftp  (0) 2015.04.13
[14.04] apache2 설치 후 에러  (0) 2015.04.11
[14.04] 터미널에서 한글 깨지는 문제 해결  (1) 2015.04.11
[14.04] 원격 root 로그인 막기  (0) 2015.04.10
[우분투 14.04] 화면 캡쳐  (0) 2015.03.07


Posted by 똑똑한 영장류

[14.04] 터미널에서 한글 깨지는 문제 해결



putty로 접속을 했는데, 한글이 제대로 나오지 않네요.


해결 방법입니다.


0. 한글팩이 설치되어있어야합니다


$ sudo apt-get install language-pack-ko

$ sudo apt-get install language-pack-ko-base




1. /etc/environment 확인


$ sudo nano /etc/environment


아래 내용이 있도록 수정합시다.

LANG="ko_KR.UTF-8"

LANG="ko_KR.EUC-KR"

LANGUAGE="ko_KR:ko:en_GB:en"



2. /etc/default/locale 확인




3. /etc/profile 확인


$ sudo nano /etc/profile


마지막 줄에 다음 코드 추가

LANG="ko_KR.UTF-8"



4. 그리고, 리부팅!


$ sudo shutdown -r now






잘 나옵니다.


아! 사용하는 터미널 프로그램에서도 문자셋을 UTF-8 로 설정해야합니다.


이상~!




Posted by 똑똑한 영장류

14.04 원격 root 로그인 막기


우분투 14.04 를 제공하는 클라우드 서버를 찾다가 cloudv 라는 곳을 발견하고 낮은 사양으로 하나 신청을 했습니다.

설치 후 메일이 날아와서 접속 정보를 알려주는데, root 계정정보네요.


putty 를 이용해서 클라우드 서버에 접속을 하는데, root 로 접속할 수 있는 것이 꺼림직해서 막으려고 합니다.


우선,  root 대신 사용할 계정을 만들어 둬야겠네요.


root 로 로그인을 한 후, 원하는 ID 로 사용자를 추가해줍니다.


# adduser ryu


앞으로는 이 계정으로 접속을 해서 root 가 할 수 있는 작업들을 할 계획입니다.

ryu 에 그런 권한을 주기 위해서 /etc/sudoers 를 편집합니다.


root ALL=(ALL:ALL) ALL 을 찾아 그 아래에 아래처럼 똑같이 계정을 추가해 줍니다.


root   ALL=(ALL:ALL)    ALL

ryu   ALL=(ALL:ALL)    ALL


요기까지하면 ryu 로 로그인해서 root의 권한으로 작업을 할 준비를 해 준겁니다.


이제 root 접속을 막아야지요.


ssh 설정파일을 수정해야합니다.


# nano /etc/ssh/sshd_config


PermitRootLogin 을 찾아 no로 변경합니다.


PermitRootLogin no


그리고나서 sshd 데몬을 재시작합니다.


# service ssh restart



이제 ryu 로 접속을 해서 sudo 명령을 통해 root 권한의 작업을 수해하면 되겠습니다.







Posted by 똑똑한 영장류

블로그 포스팅하는데, 이미지 캡쳐가 필요해서 찾아봤습니다요~


프로그램을 찾다보니 기본적으로 캡쳐기능이 있더군요.




프로그램은 shutter 라는 녀석이 좋다네요.


설치방법

$ sudo apt-get install shutter


설치하고 실행시켜보니...




선택영역, Desktop, 창...이렇게 캡쳐가 가능하네요...


단축키 설정으로 간편하게 사용할 수 있습니다요~


시스템 설정 > 키보드 > 바로가기 > 사용자 설정 바로가기 에서 선택영역, Desktop, 창 별로 바로가기를 추가해서 사용하면 되겠습니다.

아래와 유사할겁니다.





선택영역의 경우,

/usr/bin/shutter -s


화면전체의 경우,

/usr/bin/shutter -f


창의 경우,

/usr/bin/shutter -w


이렇게 설정을 해 주면 되겠습니다.


거기다 아래처럼 원하는 단축키를 설정하면 됩니다.


창 캡쳐를 클릭해서 '새 단축키'라고 나올 때, 원하는 키를 입력하면 됩니다.



전 그냥 기본 캡쳐 기능 쓸랍니다.










Posted by 똑똑한 영장류

메일 포워딩 설정하기



우분투 14.04 에 postfix, dovecot 을 이용해서 메일 서버를 구축했다.


구축하는 동안 특정 계정으로 날아오는 메일은 구글 메일로 포워딩을 시켜놨었다.


포워팅 시키는 방법은 두 가지가 있었다.


홈디렉토리에 .forward 파일을 만들고 그 안에 포워딩할 주소를 적어주면 된다.


$ cd 

$ nano .forward 


아래처럼 적어주고 저장.


aaa@gmail.com 


또 다른 방법 하나는 /etc/aliases 파일에 기록하는 방법이다.



$ sudo nano /etc/aliases 


열어보면 아래처럼 생겨먹었다.


# See man 5 aliases for format

postmaster:    root

ryu:   aaa@gmail.com



postmaster로 들어오는 메일은 root 에게 보내고, ryu 에게 들어오는 메일은 aaa@gmail.com 으로 보내라는 의미다.


설정을 수정하고 나면 아래 명령으로 설정이 효과를 보도록 해 줘야한다.


$ sudo newaliases


이거 까먹어서 포워딩 시켰던거를 원상복귀시키는데 해맸다..



이상!










Posted by 똑똑한 영장류

아파치 가상호스트로 두 개 사이트 운영하기



서버는 한대요~~ 가지고 있는 도메인은 두개라~~면?


한 대에서 서로 다른 사이트 두 개를 운영하는 방법이 있다.


이름하야, '아파치 가상호스트'!!!


아파치가 현재 하나 도메인 주소, 예를 들어 aaa.com 으로 접속되도록 설정이 되어있다고 하면, 그 기본 설정 파일이 /etc/apache2/sites-available/000-default.conf 이다. 

만약, bbb.com 도 같은 서버에서 돌리고 싶으면 어떻게 하면 될까나...?


어디 도메인 파는 사이트에서 bbb.com 을 사고, 네임서버에서 bbb.com 이 현재 서버의 아이피를 가리키도록 설정부터 해야겠지..이건 되어 있다고 가정을 하고 시작~!



우선 bbb.com 을 위한 파일들을 저장할 공간부터 마련을 해야한다.


편하게 따로 계정을 만들어서 사용하는 것이 편할거 같다.

그래서, 


# adduser bbb


해서 계정만들고, /home/bbb/ 아래에 www 이라고 디렉토리 만들어주고 그 안에 접속 테스트용으로 index.php 나 index.htm 를 만들어 주자.


이제 아파치 가상서버 설정이다.


/etc/apache2/sites-available/000-default.conf.ori 를 bbb.com.conf 로 복사를 하자.


000-default.conf.ori 는 아파치 설치 후에 아무런 수정을 하지 않은 기본 설정파일, 000-default.conf 를 백업해 놓은 파일이다. 이렇게 가상호스트 설정을 할 때 사용하려고 처음에 백업을 해 놓았다.


아파치 예전 버전에서는 bbb.com 정도로 파일 이름을 정해도 괜찮았는데, 2.4. 버전에서는 a2ensite 가 오류를 뱉더라. 뒤에 꼭 conf 라고 붙여줘야한다.


준비된 bbb.com.conf 를 편집기로 열어서 수정을 해 주자. 빨간 색으로 표시한 부분만 알맞게 수정해주면 되겠다.


<VirtualHost *:80>

        # The ServerName directive sets the request scheme, hostname and port that

        # the server uses to identify itself. This is used when creating

        # redirection URLs. In the context of virtual hosts, the ServerName

        # specifies what hostname must appear in the request's Host: header to

        # match this virtual host. For the default virtual host (this file) this

        # value is not decisive as it is used as a last resort host regardless.

        # However, you must set it for any further virtual host explicitly.

        ServerName bbb.com

        ServerAlias www.bbb.com


        ServerAdmin admin@bbb.com

        DocumentRoot /home/bbb/www


        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,

        # error, crit, alert, emerg.

        # It is also possible to configure the loglevel for particular

        # modules, e.g.

        #LogLevel info ssl:warn


        ErrorLog /home/bbb/logs/error.log

        CustomLog /home/bbb/logs/access.log combined


        # For most configuration files from conf-available/, which are

        # enabled or disabled at a global level, it is possible to

        # include a line for only one particular virtual host. For example the

        # following line enables the CGI configuration for this host only

        # after it has been globally disabled with "a2disconf".

        #Include conf-available/serve-cgi-bin.conf

</VirtualHost>


/etc/apache2/sites-available/bbb.com.conf 가 생겼다. 우린 이 파일을 /etc/apache2/sites-enabled/ 로 옮겨야한다. 그냥 복사해서 붙여넣는게 아니고... a2ensite 를 이용한다.


$ sudo a2ensite bbb.com


bbb.com.conf 라고 적어도 된다.


/etc/apache2/sites-enabled/ 에 가 보면, bbb.com.conf 가 생겨있는것을 확인할 수 있다. 사실 sites-available 에 있는 bbb.com.conf 로 링크가 걸려있다.



그 다음은, /etc/apach2/apache2.conf 를 수정해주자.


쭉~ 내려가서 아래 비스무리한 내용들이 나오는 부분에서 아래처럼 bbb.com 을 위한 디렉토리, /home/bbb/www/ 을 설정해줘야한다.

아래 내용 중, 빨간 색 부분만 그대로 추가하면 되겠다. 


<Directory /home/webmaster/www/>

        Options Indexes FollowSymLinks

        AllowOverride None

        Require all granted

</Directory>


<Directory /home/bbb/www/>

        Options Indexes FollowSymLinks

        AllowOverride None

        Require all granted

</Directory>


이제 가상호스트 bbb.com 에 대한 설정파일 bbb.com.conf 도 만들어줬고, apache2.conf 에서 가상호스트를 위한 설정도 추가를 해 줬다.

그럼, 아파치를 재시작해주자.


$ sudo service apache2 restart


오케이! 브라우저에서 bbb.com 을 접속하면 /home/bbb/www/ 안에 준비해둔 index.php(html) 가 표시될 것이다.


끝!













Posted by 똑똑한 영장류

추가로 도메인을 설정해보자~~



현재 상황, 서버에 DNS 잘 구축해서 aaa.com 으로 접속이 가능하고 웹서버도 잘 돌아가고 있다.


bbb.com 이라는 도메인도 내가 하나 장만을 했다고 치고, bbb.com 도 지금 서버로 연결을 시키고 싶다.

우째 할까나....



도메인 구매한 곳에서 bbb.com 의 네임서버로 앞에서 구축한 ns.aaa.com 으로 수정을 해줘야겠다.


bbb.com 에 접속하려고 하면 ns.aaa.com 에 가서 IP 주소를 물어보도록 해 놓은거다.

그럼, ns.aaa.com 에서는 누가 bbb.com 이 어디요? 라고 물어올 때, '여기다!'라고 이야기 해줄 수 있게 설정을 해야겠지...


bind 설정하러 가자~


cd /etc/bind 


aaa.com 등록할 때처럼, zone 등록해주소 zone 파일 만들어주면 되겠다.


zone 등록은 /etc/bind/named.conf.local 에서 한다.


zone "aaa.com" {

        type master;

        file "/etc/bind/db.aaa.com";

};


zone "bbb.com" {

        type master;

        file "/etc/bind/db.bbb.com";

};



aaa.com 에 해 준 것처럼 bbb.com 으로 똑같이 작성을 해 주자. 그리고, db.bbb.com, zone 파일을 만들어주면 되겠지..


db.local 을 복사해서 db.bbb.com 을 만들고 아래처럼 수정!


;

; BIND data file for local loopback interface

;

$TTL    604800

@       IN      SOA     bbb.com. root.bbb.com. (

                              2         ; Serial

                         604800         ; Refresh

                          86400         ; Retry

                        2419200         ; Expire

                         604800 )       ; Negative Cache TTL

;

@       IN      NS      bbb.com.

@       IN      A       123.123.123.123

@       IN      AAAA    ::1


NS 설정은 아리까리한데... 그냥 넘어가겠다..ㅡ.ㅡ


설정 다 했으면, bind 재시작 한판 해 주면 끝!


$ sudo service bind9 restart



이렇게 하면, bbb.com 접속 요청을 aaa.com 이 구축되어있는 서버가 받게 되는거다.


근데, 지금은 웹 브라우저에서 bbb.com 쳐서 들어오려고 해도 해당 웹 페이지가 준비되어있지 않으니 별 소용이 없겠다.


bbb.com 를 위한 웹 설정을 해야겠네. 다음 포스팅 쯤에 정리를 해야겠다.



이상!








Posted by 똑똑한 영장류

bind9 이용해 DNS 설치하기


도메인 등록 업체에서 구매한 도메인이 있는데, 그 도메인으로 접속했을 때, 내 서버로 접속이 되도록 하고 싶다!

카페24 같은 경우, 도메인 등록도 할 수 있고, 그 도메인을 자신들이 호스팅하는 서버로 바로 연결도 시켜주고 있어서 이런 작업이 필요없지만...


나처럼 도메인 따로 구입해놓고 자체적으로 웹서버를 돌릴려고 한다면, 이 둘을 연결해줄 필요가 있다...

이럴 때 필요한 것이 도메인 네임 서버, DNS 되시겠다.


자체적으로 DNS를 운영하면 소위 3차 도메인도 내 맘대로 만들어서 사용할 수 있다.

aaa.com 도 가능하지만, aaa.aaa.com, bbb.aaa.com 같이 앞에 다른 이름 넣는게 가능하다는 말쌈~~


그럼, 우분투에서 사용할 수 있는 DNS 프로그램을 설치해보자.. 그 이름은 bind9!

아참! 네임서버가 제대로 돌아가려면 53번 포트가 열려있어야 한다.


설치는 아래처럼...


$ sudo apt-get install bind9 bind9utils


주루룩~ 잘 설치가 된다. 

설치중 보이는 로그중에 /etc/bind/rndc.key 를 생성했다는 메세지도 보인다.

나중에 써먹을때가 있을지도...


wrote key file "/etc/bind/rndc.key"


이제 설정을 하나씩 해 보자..


현재 aaa.com 으로 사용할 서버에서 작업한다고 가정하고 출발~



/etc/hosts 수정

127.0.0.1       localhost

123.123.123.123   aaa.com

# The following lines are desirable for IPv6 capable hosts

::1     localhost ip6-localhost ip6-loopback

fe00::0 ip6-localnet

ff00::0 ip6-mcastprefix

ff02::1 ip6-allnodes

ff02::2 ip6-allrouters




이 서버로 접속해서 여기가 어디요? 하고 물어보는 것들에게 'aaa.com'이요~ 라고 이야기해 줄 수 있게 추가를 해 주자.


resolv.conf 수정

resolv.conf 파일이 머하는 녀석이냐? 하니, 도메인네임서버가 어디 있는지 시스템에게 알려주는 녀석이라네.


서버에 터미널 로그인을 하고, /etc/resolv.conf 파일을 편집해 보자.


# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)

#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

nameserver 127.0.1.1



기본적으로는 위처럼 되어 있는데...흠...

127.0.0.1 은 localhost 를 의미한다고 알고 있는데, 127.0.1.1 은 머지??? 하고 검색을 해보니 데비안 리눅스에서 이것도 루프백 아이피라고 하네. 좀 더 자세한거는 설명하기 어렵...ㅠㅠ

암튼, 네임서버가 127.0.1.1 즉, 바로 내 자신, 니가 보고 있는 이 서버에 설치되어 있다~~ 라는 설정이 되겠다.


resolv.conf 에 nameserver 를 아래처럼 여러개 등록할 수도 있다.


# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)

#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

nameserver 127.0.1.1

nameserver 168.126.63.1




nameserver 항목외에 domain, search 항목도 작성할 수 있는데. domain 에는 로컬 도메인 네임을 적어주면되고, 안 적으면, search 에 지정한 항목을 알아서 사용한다고 한다. (로컬 도메인은 머여? 아...어렵다...)


# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)

#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

domain aaa.com 

nameserver 127.0.1.1

search otherdomain.com




bind9의 설정 파일 /etc/bind/named.conf


열어보니 아래처럼 되어있다. "손대지 마라!, zone 을 추가하려면 /etc/bind/named.conf.local 에서 해라!" 라고 적혀있다.


// This is the primary configuration file for the BIND DNS server named.

//

// Please read /usr/share/doc/bind9/README.Debian.gz for information on the

// structure of BIND configuration files in Debian, *BEFORE* you customize

// this configuration file.

//

// If you are just adding zones, please do that in /etc/bind/named.conf.local


include "/etc/bind/named.conf.options";

include "/etc/bind/named.conf.local";

include "/etc/bind/named.conf.default-zones";


시키는대로... /etc/bind/named.conf.local 을 열어보니


//

// Do any local configuration here

//


// Consider adding the 1918 zones here, if they are not used in your

// organization

//include "/etc/bind/zones.rfc1918";



주석처리된거 빼고 아무것도 없네. 여기다가 zone 을 추가하라는 말이쥐? 예제는 없니?


zone 은 무슨 의미인가? 

설치하고 있는 DNS 에서 관리할 도메인을 지정해주기 위한 거 같다.. "이 지역은 내 구역이야!" 라고.

"aaa.com 이라는 도메인은 내가 관리해..여긴 aaa.com 구역이야!" ...라는 의미로 아래처럼 추가를 해 줄수 있다고 한다.


//

// Do any local configuration here

//


// Consider adding the 1918 zones here, if they are not used in your

// organization

//include "/etc/bind/zones.rfc1918";


zone "aaa.com" {

        type master;

        file "/etc/bind/db.aaa.com";

};


type 에 master로 되어있는데, 사실 slave 타입도 있다. 그건 나중에 다시..

file 항목에 지정해준 "/etc/bind/db.aaa.com 을 zone 파일이라고 부른다.

저 파일도 만들어줘야한다.

어떻게??


미리 만들어져 있는 /etc/bind/db.local 을 복사해서 수정하는 방법으로 만들어 줄 수 있다.

/etc/bind/db.local 을 열어보까나...


;

; BIND data file for local loopback interface

;

$TTL    604800

@       IN      SOA     localhost. root.localhost. (

                              2         ; Serial

                         604800         ; Refresh

                          86400         ; Retry

                        2419200         ; Expire

                         604800 )       ; Negative Cache TTL

;

@       IN      NS      localhost.

@       IN      A       127.0.0.1

@       IN      AAAA    ::1



하... 


/etc/bind/ 로 가서 db.local 을 복사해서 db.aaa.com 파일을 만들고 아래처럼 수정을 하자.


;

; BIND data file for local loopback interface

;

$TTL    604800

@       IN      SOA     aaa.com. root.aaa.com. (

                              2         ; Serial

                         604800         ; Refresh

                          86400         ; Retry

                        2419200         ; Expire

                         604800 )       ; Negative Cache TTL

;

@       IN      NS      ns.aaa.com.

@       IN      A       123.123.123.123

@       IN      AAAA    ::1

ns      IN       A       123.123.123.123



후후...localhost 대신에 aaa.com 을 넣고, 네임서버라는 의미로 폼나게 ns 를 더했을뿐이다.

123.123.123.123 은 서버의 고정 IP 되시겠다. 훼이크다.



여기까지하고 bind9 을 재시작을 해서 추가한 설정들이 적용되도록 하자.


$ sudo service bind9 restart




도메인을 등록한 회사 사이트에 가서 aaa.com 도메인의 네임서버를 ns.aaa.com이라고 설정을 해야겠네.



이렇게 되면, 어디서든 aaa.com 으로 접속하려고 하면, ns.aaa.com(123.123.123.123) 에 가서 aaa.com 이 어디요? 라고 묻게되는데, resolv.conf 에 aaa.com이 등록되어있으니 이 서버로 연결되는 것....이 맞나? 


먼가 이해가 덜 된 부분이 있지만, 요기까지!


언제 날 봐서, 도메인 네임 운영 부분 전체에 대해서 한번 정리를 해야겠다.


끝!














































Posted by 똑똑한 영장류

apache2 루트 디렉토리 변경하기


서버에 LAMP는 잘 설치를 했고, 접속도 잘 되는데!


현재 웹서버의 루트 디렉토리가 /var/www/html 이라 이용에 불편함이 있는 거 같습니다용~

소유자도 root 로 되어 있어서 꺼림직....

그래서, 웹 담당 계정을 하나 만들고 그 계정을 이용해서 웹 작업을 할 수 있도록 수정을 하려고 합니다.


먼저, 웹 담당 계정 webmaster 를 만듭니다. 사실 원하는 이름 아무거나 해도 됩니다.

새로운 계정 만드는 방법은 root 권한으로 아래처럼 할 수 있습니다.


$ adduser webmaster


/home 아래에 webmaster 라는 디렉토리가 생깁니다.

webmaster 로 로그인을 한번 해보고 잘 되면 아래에  www 디렉토리를 하나 만들어 둡시다.

이 디렉토리를 루트 디렉토리로 사용할 겁니다. 위치는 /home/webmaster/www 이죠.

www 디렉토리 안에 들어가서 테스트용 index.php 를 만드는데, 속 내용은 아무거라도 괜찮으니 적어줍니다.


이제 여기를 루트 디렉토리로 사용해라~~ 라고 apache 에게 알려줘야겠군요.


설정 파일 두군데를 손봐 줘야합니다.


/etc/apache2/apache2.conf


쭈  ~욱 내려가다 보면 아래 부분을 발견할 수 있습니다.

<Directory /var/www/>

        Options Indexes FollowSymLinks

        AllowOverride None

        Require all granted

</Directory>


/var/www 라고 되어있는 부부을 /home/webmaster/www 이라고 수정을 합시다. 당근 저장하고...


그다음! 


/etc/apache2/sites-available/000-default.conf


이름에 default 라는 단어가 보이죠? 가장 기본적인 설정파일이라는 뜻같군요.

우선 000-default.conf 를 000-default.conf.ori 로 복사를 해 둡시다. 나중에 혹시 문제가 생기면 초기값으로 돌아갈 때  써 먹을수 있을지도....


vi든, nano 든 000-default.conf 를 열어서 다음 부분을 찾습니다.


DocumentRoot /var/www/html


몇 줄 안 내려가서 보입니다.


역시 /var/www/html 을 /home/webmaster/www 이라고 수정을 하고 저장합니다.


이제 아파치를 재시작하고 브라우저에서 접속해보면 /home/webmaster/www/index.php 가 보이는 것을 확인할 수 있습니다.


$ sudo service apache2 restart


이제 서버의 기본 웹 사이트는 webmaster 계정이 작업을 하고 관리를 하면 되겠습니다.


이상!














Posted by 똑똑한 영장류

우분투 14.04 apache2, php5, mysql 설치





웹서버 설치하고 php5 사용할 수 있게 하고, mysql도 사용할 수 있게하려면... apt-get 몇 번 하면 되겠습니다용~



1. apache2 설치

$ sudo apt-get install apache2


설치하고나서, 파이어폭스나 크롬 브라우저에서 http://localhost 를 입력해 봅니다. 이때, 기본 웹페이지가 뜨면 정상적으로 설치된 것입니다용.

아래처럼....


It works!

This is the default welcome page used to test the correct operation of the Apache2 server after installation on Ubuntu systems. It is based on the equivalent page on Debian, from which the Ubuntu Apache packaging is derived. If you can read this page, it means that the Apache HTTP server installed at this site is working properly. You should replace this file (located at /var/www/html/index.html) before continuing to operate your HTTP server.

If you are a normal user of this web site and don't know what this page is about, this probably means that the site is currently unavailable due to maintenance. If the problem persists, please contact the site's administrator.

Configuration Overview

Ubuntu's Apache2 default configuration is different from the upstream default configuration, and split into several files optimized for interaction with Ubuntu tools. The configuration system is fully documented in /usr/share/doc/apache2/README.Debian.gz. Refer to this for the full documentation. Documentation for the web server itself can be found by accessing the manual if the apache2-doc package was installed on this server.

The configuration layout for an Apache2 web server installation on Ubuntu systems is as follows:

/etc/apache2/
|-- apache2.conf
|       `--  ports.conf
|-- mods-enabled
|       |-- *.load
|       `-- *.conf
|-- conf-enabled
|       `-- *.conf
|-- sites-enabled
|       `-- *.conf
          
  • apache2.conf is the main configuration file. It puts the pieces together by including all remaining configuration files when starting up the web server.
  • ports.conf is always included from the main configuration file. It is used to determine the listening ports for incoming connections, and this file can be customized anytime.
  • Configuration files in the mods-enabled/conf-enabled/ and sites-enabled/ directories contain particular configuration snippets which manage modules, global configuration fragments, or virtual host configurations, respectively.
  • They are activated by symlinking available configuration files from their respective *-available/ counterparts. These should be managed by using our helpers a2enmoda2dismoda2ensitea2dissiteand a2enconf,a2disconf . See their respective man pages for detailed information.
  • The binary is called apache2. Due to the use of environment variables, in the default configuration, apache2 needs to be started/stopped with /etc/init.d/apache2 or apache2ctlCalling /usr/bin/apache2 directly will not work with the default configuration.
Document Roots

By default, Ubuntu does not allow access through the web browser to any file apart of those located in /var/www,public_html directories (when enabled) and /usr/share (for web applications). If your site is using a web document root located elsewhere (such as in /srv) you may need to whitelist your document root directory in/etc/apache2/apache2.conf.

The default Ubuntu document root is /var/www/html. You can make your own virtual hosts under /var/www. This is different to previous releases which provides better security out of the box.

Reporting Problems

Please use the ubuntu-bug tool to report bugs in the Apache2 package with Ubuntu. However, check existing bug reports before reporting a new bug.

Please report bugs specific to modules (such as PHP and others) to respective packages, not to the web server itself.



2. mySql 설치

웹개발시에 사용할 데이터베이스로 mysql을 사용할거니까, mysql 을 설치합니다.


$ sudo apt-get install mysql-server php5-mysql


설치 중에 mysql 데이터베이스를 관리할 root의 암호를 물어봅니다. 우분투의 root 계정을 의미하는것이 아닙니다. 입력하고 잘 기억해놓으세요.

php5-mysql 패키지는 php5와 mysql을 연동시키기 위해서 필요한 패키지랍니다. 함께 설치를 합시다.


설치가 되고 나면, 몇 가지 설정을 해줍니다.

mysql 이 관련 정보를 저장할 테이블도 만들고 디렉토리도 구성하도록 해 준답니다. 아래처럼 먼가 잔뜩 나오네요.


Installing MySQL system tables...

141027 19:17:24 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.

OK

Filling help tables...

141027 19:17:24 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.

OK


To start mysqld at boot time you have to copy

support-files/mysql.server to the right place for your system


PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

To do so, start the server, then issue the following commands:


/usr/bin/mysqladmin -u root password 'new-password'

/usr/bin/mysqladmin -u root -h RYU-UBUNTU password 'new-password'


Alternatively you can run:

/usr/bin/mysql_secure_installation


which will also give you the option of removing the test

databases and anonymous user created by default.  This is

strongly recommended for production servers.


See the manual for more instructions.


You can start the MySQL daemon with:

cd /usr ; /usr/bin/mysqld_safe &


You can test the MySQL daemon with mysql-test-run.pl

cd /usr/mysql-test ; perl mysql-test-run.pl


Please report any problems at http://bugs.mysql.com/



그 다음, mysql을 설치했을 때의 기본 설정으로 인한 보안상 취약점들을 수정할 스크립트를 실행해줍니다.

묻는 말에 적절히 대답하면 됩니다.


ryu@RYU-UBUNTU:/usr/bin$ sudo mysql_secure_installation 





NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL

      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!



In order to log into MySQL to secure it, we'll need the current

password for the root user.  If you've just installed MySQL, 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 MySQL

root user without the proper authorisation.


You already have a root password set, so you can safely answer 'n'.


Change the root password? [Y/n] n

 ... skipping.


By default, a MySQL installation has an anonymous user, allowing anyone

to log into MySQL 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

 ... 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

 ... Success!


By default, MySQL 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

 - Dropping test database...

ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist

 ... Failed!  Not critical, keep moving...

 - 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

 ... Success!


Cleaning up...




All done!  If you've completed all of the above steps, your MySQL

installation should now be secure.


Thanks for using MySQL!



ryu@RYU-UBUNTU:/usr/bin$


3. php 설치

이제 웹 개발에 사용할 스크립트 언어 php를 설치합니다.


$ sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt


별문제 없이 설치가 됩니다.

여기서도 잠깐 설정을 수정하는 작업을 합니다.

apache2 서버가 웹 페이지를 표시할 때, 디렉토리에서 index.html을 가장 먼저 찾도록 되어 있습니다.

어디에 그렇게 설정이 되어있느냐.....하면, /etc/apache2/mods_enabled/dir.conf 에 그렇게 되어있답니다.

파일을 열어보면, 아래처럼 디렉토리 인덱스가 순서대로 적혀있습니다.


<IfModule mod_dir.c>

        DirectoryIndex index.html index.cgi index.pl index.php index.xhtml inde$

</IfModule>


그냥 둬도 되고, index.php를 가장 먼저 찾도록 하려면, index.php 를 index.html 앞으로 옮기고 저장을 하면 되겠습니다.

아파치 설정이 바뀌었으니, 재시작을 해줘야겠네요.


$ sudo service apache2 restart


필요에 따라서 php5 에 추가로 모듈들을 설치를 할 수 있습니다.

어떤 모듈들이 있는지 살펴보려면 아래처럼 입력하면 됩니다.


$ apt-cache search php5-


모듈들이 쫙~ 나오면 살펴보고 설치하면 되겠습니다.

하나의 모듈에 대해서 더 자세히 알아보려면 아래 명령을 입력하면 됩니다.


$ apt-cache show [php 모듈명]


설치할 때는


$ sudo apt-get install [php 모듈명]


이제 얼추 설치가 된 듯 하네요.


4. php가 잘 동작하나 테스트하기

apache 를 설치하고 잘 동작하는지 확인할 때, 브라우저에 나타난 파일은 아래 위치에 있는 index.html 입니다.


/var/www/html/index.html


/var/www/html/ 디렉토리가 현재 웹서버의 루트 디렉토리이지요.

그럼, 루트 디렉토리에 php파일을 하나 만들어서 php 스크립트도 잘 동작하는지 확인해 봅시다.


터미널이든 GUI든.. /var/www/html 디렉토리로 가서 phpinfo.php 파일을 만듭시다.

파일 내용은 아래와 같이 작성하고 저장을 합시다.

/var/www/html 디렉토리가 root 권한이네요. sudo nano phpinfo.php 라고 해서 입력을 해 줍시다.


<?php

phpinfo();

?>


저장을 했으면 브라우저에서 다시 http://localhost/phpinfo.php 를 입력해 봅시다.


PHP logo

PHP Version 5.5.9-1ubuntu4.4



이렇게 시작이 되어서 아래로 길게 표로 뭔가 나오면 phpinfo.php가 잘 실행된 것입니다.

아래로 길게 표로 표시된 것들은 현재 웹서버와 관련된 여러 설정내용들입니다. 한번 쭉~ 살펴보는 것도 좋겠습니다.


나중에 혹시 수정하게 될지도 모를 php 의 설정파일의 위치도 표시되어있습니다.


/etc/php5/apache2/php.ini


php가 잘 동작하는 것을 확인했으니, phpinfo.php 파일은 삭제해줍시다. 




이상! 우분투 14.04 에서 apache2, php5, mysql 을 설치해봤습니다.


끝!





Posted by 똑똑한 영장류

우분투 14.04 LTS 설치


옆에 노는 컴퓨터가 있어서 제대로 우분투를 설치했다.


우분투 사이트에서 14.04 LTS Desktop 이미지 다운받아서 DVD 구워놓은 게 있어서 그걸로 설치!

아래 사이트 참고하면서 물 흐르듯 설치!


http://www.ulug.or.kr/%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%B4%88%EC%8B%AC%EC%9E%90-%EC%8A%A4%ED%84%B0%EB%94%94-ubuntu-14-04-lts-%EC%84%A4%EC%B9%98/


아, 파티션은 20기가 스왑으로 잡고 나머지 300기가 정도 전체를 / 에 할당했다.

설치하고 터미널에서  df 찍어보니 아래처럼 나온다.


ryu@RYU-UBUNTU:~$ df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda1      ext4      275G  4.3G  257G   2% /
none           tmpfs     4.0K     0  4.0K   0% /sys/fs/cgroup
udev           devtmpfs  3.9G  4.0K  3.9G   1% /dev
tmpfs          tmpfs     796M  1.1M  794M   1% /run
none           tmpfs     5.0M     0  5.0M   0% /run/lock
none           tmpfs     3.9G  152K  3.9G   1% /run/shm
none           tmpfs     100M   52K  100M   1% /run/user
ryu@RYU-UBUNTU:~$


/sys/fs/cgroup, /dev , /run 등등..보인다...

이건 먼가~~~~






Posted by 똑똑한 영장류

php 에서 사용할 curl 설치하는 방법


..은 무지 쉽다.



# sudo apt-get install php5-curl


하고 나서, 아파치 재시작해주면 되겠습니당~~


$ sudo service apache2 restart



php 카데고리로 갈까하다가 우분투 apt-get 사용해서 설치하는 거라 우분투 카테고리에 올림!


끝!





Posted by 똑똑한 영장류