server installation manual
서버 설치 매뉴얼
설치 환경 :
Cpu : Intel(R) Core(TM)2 CPU T5200 @ 1.6GHz version 6.15.6
memory : 2517MB
HDD : ATA WDC WD2500BEVS-00UST0 (250GB : 윈도우 영역 - 107GB NTFS, 우분투 영역 - 143GB(swap - 40GB, ext4 - 103GB)
Ubuntu 10.10 (Maverick Meerkat) Desktop ver
1. Repository update and upgrade
<apt-get 정보를 업데이트하고 업그레이드 한다>
터미널에서
$sudo apt-get update
$sudo apt-get upgrade
2. Apache 2
<웹서버로 이용할 Apache2를 설치>
$sudo apt-get install apache2
$sudo apt-get install libapache2-mod-auth-mysql
3. PHP 5
<DB 관리 등의 편이를 위해 PHP 5 설치>
$sudo apt-get install php5 libapache2-mod-php5
$sudo apt-get install php5-mysql
$sudo apt-get install phpmyadmin
Space Bar로 apache2선택후 엔터
이후에 뜨는 기본 데이터베이스 선택에서 선택안함을 선택한다
=> APM(apache2 + php5 + mysql + phpmyadmin)이 설치되고 mysql을 통해서 데이터베이스를 만들고 사용자를 추가할 수 있다(서버로서의 기능을 할 수 있음)
배포버젼에 따라 /etc/php.ini 파일 수정 필요
4. mySQL
<DB 로 사용할 mySQL 설치>
$sudo apt-get install mysql-server mysql-client
(mysql root password 설정 : 까먹지 말것)
-UTF-8 언어 설정 (한글이 범용으로 보이게하기위한 언어세팅)
설정 파일 열기
$sudo gedit /etc/mysql/my.conf
열린 설정파일에서 각 대괄호 부분에 다음 부분들을 추가해서 넣어준다.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[client]
default-character-set=utf8
[mysqld]
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
[mysql]
default-character-set=utf8
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-mysql 재시작
$sudo /etc/init.d/mysql restart
-root 권한으로 mysql
$mysql -u root -p
Enter password: (인스톨할때 썼던 pw 입력)
-character 설정 확인
mysql>show variables like 'c%';
5. FTP
<파일 업/다운 로드를 위한 FTP 설치>
$sudo apt-get install vsftpd
설정(보안 / umask / 파일업로드시 권한 자동 설정)
$sudo gedit /etc/vsftpd.conf
--------------------------------------------------------
#local_enable=YES local 가능
#write_enable=YES 쓰기 가능
--------------------------------------------------------
anon_upload_enable=YES 익명 업로드 가능
--------------------------------------------------------
#chroot_local_user=YES 상위 폴더 접근금지 세팅
--------------------------------------------------------
#local_umask=022 폴더 권한 자동 설정 기능
--------------------------------------------------------
이 부분을 다음과 같이 바꿔준다
--------------------------------------------------------
local_enable=YES
write_enable=YES
--------------------------------------------------------
#anon_upload_enable=YES
--------------------------------------------------------
chroot_local_user=YES
--------------------------------------------------------
local_umask=022
--------------------------------------------------------
마지막에 다음을 추가
file_open_mode=0644 파일 열기 퍼미션 설정
(참고 : http://blog.foxb.kr/209#recentTrackback)
재시작
$sudo /etc/init.d/vsftpd restart
6.umask 설정
<쉘유저 생성시 자동으로 폴더 뼈대나 퍼미션 설정 등을 해주기 위해 umask설정>
쉘유저 생성시 자동으로 생성되는 폴더 뼈대 정리
$cd /etc/skel
$ls -l 퍼미션을 보여줌
$ls -a 모든 파일을 보여줌
$ls -al 퍼미션도 보여주고 모든 파일도 보여줌
$sudo gedit .profile
umask 022 앞에 #을 없엔다음 저장
$sudo gedit .bashrc
제일 마지막에
umask 022 추가
/etc/skel/ 에 Public_html폴더를 생성(쉘 유저 생성시 자동으로 Public_html 폴더가 만들어짐)
$sudo mkdir /etc/skel/Public_html
(참고 : http://blog.dasom.pe.kr/10)
7. 쉘 user 추가
$cd /home
$sudo adduser hhjjj
*user를 admin group에 추가하여 user가 sudo를 실행할 수 있게 해준다.
$sudo adduser hhjjj admin
*쉘 user가 추가되면 자동으로 Public_html폴더가 생성되고
FTP를 이용해서 파일을 카피하면 자동으로 파일과 폴더의 퍼미션이 설정된다
8. DB user 추가
#**************************************#
root 계정으로 로긴
유저용 db 만들기
유저 생성후 유저용 db에만 모든 권한 주기
유저 계정으로 로긴해서 확인 (다른 db 보이면 안됨)
#**************************************#
-----------------------------------------------------------------------
$mysql -u root -p
Enter password: (인스톨할때 썼던 pw 입력)
mysql> create database hhjjj;
mysql> GRANT ALL PRIVILEGES
ON hhjjj.*
TO 'hhjjj'@'localhost'
IDENTIFIED BY '123456'
WITH GRANT OPTION;
(입력 시 대소문자 구분 없음)
-----------------------------------------------------------------------
이렇게 설정해주면, hhjjj라는 데이터베이스 및 hhjjj라는 유저가 생기고,
123456이라는 패스워드로 설정 됨(패스워드 대소문자 구분 있음)
mysql에서 나올때는 \q 를 입력
새로 만들어진 유져와 데이터베이스 확인
$mysql -u hhjjj -p (로그인 되면 만들어진 것임)
Enter password: (유저 추가때 입력했던 pw 입력 - 여기선 123456)
mysql>show databases; (명령을 내리면 현재 유저의 데이터 베이스가 보임)
이렇게 터미널을 이용해서 데이터베이스와 사용자를 추가할 수도 있고, 그래픽한 환경의 phpmyadmin을
이용하여 인터넷블라우져에서 똑같은 작업을 할 수도 있다
(참고 : http://www.devdaily.com/blog/post/mysql/add-user-mysql)
9. 자신의 홈폴더 밑에 있는 웹 폴더에 웹사이트 복사해넣기
파일질라를 이용하여 워드프레스 업로드
ftp접속하여 복사하기
10. httpd 파일 설정 (도메인 주소와 서버 내의 폴더와의 연결을 위해서)
$sudo gedit /etc/apache2/httpd.conf
다음을 추가(우분투의 아파치에서 기본적으로 httpd.conf 파일은 비어있음)
-------------------------------------------------------------------------------
Listen 8080
NameVirtualHost *:8080
<VirtualHost *:8080>
DocumentRoot /home/hhjjj/Public_html
</VirtualHost>
-------------------------------------------------------------------------------
설정 적용위해 아파치 재시작
$sudo /etc/init.d/apache2 restart
11.워드프레스 셋업
$sudo cp wp-config-sample.php wp-config.php
$sudo gedit wp-config.php
데이터베이스, 유저아이디, 유저패스워드 등의 설정을 고쳐준다
==========================================^^^^ 여기까지 수정 ^^^^=============================================
12. 도메인 구입
13. 도메인과 서버 연결