반응형
아파치 설치
sudo apt-get install apache2

php5설치 
sudo apt-get install php5

mysql설치 
sudo apt-get install mysql

-------부가 라이브러리 -------
phpMyAdmin용 암호화 라이브러리
php5용
sudo apt-get install php5-mcrypt

mysql용 라이브러리
sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install mysql-server mysql-client

php용 라이브러리
sudo apt-get install php5-common php5 libapache2-mod-php5
sudo apt-get install php5-mysql php5-gd


--------------
vsftpd 설치 
sudo apt-get install vsftpd 

vsftpd 설정
sudo vi /etc/vsftpd.conf

anonymous_enable=YES
이부분을 찾아서 YES를 NO로 변경(익명 접속을 금지하는 설정) 

local_enable=YES 
이부분 찾아서 주석제거 

write_enable=YES
이부분 찾아서 주석제거 

저장 후 데몬 재실행
sudo /etc/init.d/vsftpd restart 

----------------------
권한 및 소유자 관련 명령어
소유자를 바꾸자 한다면
Code:
# chown [myid] -R [directory]

하시면 되고 권한을 조정하려 한다면
Code:
# chmod 755 -R [directory]
반응형

아래의 내용은 XE 공식홈페이지에서 발췌한 내용입니다.

출처 : http://www.xpressengine.com/4912507

리눅스 페도라 코어에서 구축한 환경을 소개합니다.

[1] APM DSO 방식의 소스파일 설치 환경 구축

우선 Apache, PHP, MySQL을 다운로드 해야 합니다.
Apache : http://www.apache.org 2.2.x대의 버젼을 다운로드 하세요
PHP : http://www.php.net 5.x대의 버젼을 다운로드 하세요
MySQL : http://www.mysql.com 5.x대의 버젼을 다운로드 하세요. 맨 마지막에 보면 Source버젼이 있습니다.

모든 다운로드가 완료되었다면 이제부터 설치에 앞서 기존에 설치되어 있는 APM을 제거해야 합니다. 어떤 차이가 있느냐, 아주 간단하고도 명확한 차이입니다. 두개의 Apache 실행이 가능할까요? 물론 소스설치버젼의 Apache 데몬만 실행시킨다면 문제는 없겠지만 사용자의 의도와 별도로 설치된 기본제공 Apahe는 RPM 버젼이므로 의존성이 적용되어 있어 곤란한 상황이 되며 후에 문제를 일으킬 수도 있습니다. 따라서 APM은 되도록이면 현재 사용자가 사용하고자 하는 파일 외엔 삭제해 주시는게 바람직합니다.

#rpm -qa | grep httpd

를 실행하여 httpd 관련 RPM 패키지를 검색합니다. #RPM -e 패키지명 을 입력하여 모두 삭제합니다.

#rpm -qa | grep httpd
#


와 같이 아무것도 출력되지 않고 다시 프롬프트가 활성화 되어야 모두 삭제 된 것입니다. 이젠 php와 mysql 도 같은 방법으로 삭제해 줍니다.

#rpm -qa | grep php

검색하여

#rpm -qa | grep php
#


형식이 되어야 합니다. Mysql은 grep mysql로 하여 같은 방식으로 삭제합니다. httpd, php, mysql 모두 아무것도 출력되지 않고 다음 실행 명령프롬프트가 출력된다면 기존에 설치되어 있는 APM 패키지는 모두 삭제된 것입니다. 자 이제 중요한 단계입니다. 페도라의 경우 selinux를 사용하여 보안인프라를 제공하므로 이를 해제할 필요가 있습니다. 당장 문제되는 것을 알려드리자면 모든 설치를 완료하고 httpd 데몬을 실행시킬 경우 퍼미션 관련 에러가 납니다.(libphp5.so 모듈의 에러) 따라서 데몬 실행을 위해서라도 해제해 주시는 것이 바람직합니다. 해제하기 싫다면 httpd 데몬을 허용해 주어 사용하는 방법도 있습니다.

#vi etc/sysconfig/selinux

편집창을 엽니다. 그 후 Selinux 부분을 보시면 활성화 되어 있다는 명령어가 적용되어 있습니다. 'e'로 시작. 그것을 disabled 로 변경하고 저장합니다.

[2]APM source로 설치하기

위의 [1]번 과정이 설치를 위한 환경설정이었다면 이제는 직접적인 설치과정입니다. 많은 에러들이 나는 과정이기도 합니다. 에러에 앞서 한가지 짚고 넘어갑니다. 리눅스 설치시 각종 패키지들은 설치해 주시는 것이 좋습니다. 서버구동을 위함이라 해서 서버항목에만 체크를 하시고 설치하실 경우 gcc 함수도 설치가 안됩니다. 따라서 개발도구, 서버환경등이 패키지들은 골고루 설치해 주시는 것이 좋습니다. php의 경우 php소스 하나로 실행되는 것이 아니라 libxml2, zlib 등의 라이브러리 함수도 필요로 합니다. 만약 서버항목만 체크하고 달랑 설치하신 경우라면 머릿속이 복잡해 지지 않게 새로 설치하고 나서 서버구성을 해보시길 권장합니다.
MySQL을 설치해 보겠습니다. 앞서 받은 파일들은 /root/Desktop에 저장되어 있을 것 입니다. 터미널모드에서 위의 위치로 이동합니다. 이제부턴 명령어를 나열하겠습니다.

#cd /root/Desktop
#ls

<파일확인을합니다>
#tar zxvf mysql파일명.tar.gz
#ls
#cd mysql압축풀린폴더명
#./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data
#make
#make install
#cd /usr/local/mysql
#./bin/mysql_install_db


우선 여기까지 입니다. 컴파일 옵션에 localstatedir을 준 이유는 간혹 MySQL에서 data폴더를 생성하지 않는 경우가 있기 때문입니다. 이를 방지하고자 옵션을 지정해 줍니다. 이제 데몬을 실행시킬 일이 남았습니다. 하지만 쉽사리 데몬은 실행되지 않습니다. 아래의 작업을 추가해 주셔야 합니다.

#groupadd mysql
#useradd -g mysql mysql
#chown -R root /usr/local/mysql
#chown -R mysql /usr/local/mysql/data
#chgrp -R mysql /usr/local/mysql
#chown -R root /usr/local/mysql/bin
#cd /usr/local/mysql
#./bin/mysqld_safe --user=root &


데몬이 정상작동 됩니다. ps -ef | grep mysql* 을 이용해서 데몬의 실행유무를 확인해 보십시오. 마지막 명령어에 &옵션을 준 이유는 프롬프트 상태의 작업을 계속하기 위함입니다. 필수 항목이니 꼭 적으세요. 자 이제 데몬도 실행되었으니 mysql내의 root 패스워드를 지정해 줍니다.

#cd /usr/local/mysql
#./bin/mysqladmin -u root password 패스워드입력
#./bin/mysql -u root -p설정한패스워드
mysql>


MySQL이 정상적으로 설치되었습니다. exit를 이용하여 터미널 모드로 빠져 나옵니다. 이제 아파치 설치를 진행하도록 하겠습니다.

#cd /root/Desktop
#ls
#tar zxvf 아파치파일명.tar.gz
#ls
#cd 아파치폴더명
#./configure --prefix=/usr/local/apache --enable-mods-shared=most --enable-module=so
#make
#make install
#vi /usr/local/apache/conf/httpd.conf


아파치 설치는 완료되었고 아파치의 환경설정 파일은 httpd.conf 를 vi 편집기로 실행한 상태입니다. 이제 php의 추가 구성을 하도록 하겠습니다. AddType 부분을 찾아서 아래 명령어를 추가해줍니다.

AddType application/x-httpd-php .php .htm .html .inc .php5 .php4 
AddType application/x-httpd-php-source .phps


아파치의 설정이 완료되었습니다. 이제 PHP 설치를 진행하도록 하겠습니다.

#cd /root/Desktop
#ls
#tar zxvf php파일명.tar.gz
#ls
#cd php폴더명
#./configure --prefix=/usr/local/php \
>--with-apxs2=/usr/local/apache/bin/apxs \ 
> --with-mysql=/usr/local/mysql/ \
>--with-config-file-path=/usr/local/apache/conf \ 
>--with-exec-dir=/usr/local/apache/bin \ 
>--with-zlib --with-gd --with-gd-dir=/usr/lib --with-ttf --with-png
#make
#make test
#make install
#cd /root/Desktop/php폴더명
#cp php.ini-dist /usr/local/apache/conf/php.ini

php의 컴파일 옵션은 역시나 복잡합니다. 지금 준 옵션은 에러가 나지 않기 위한 최소 옵션이라고 보셔도 무방합니다. 위에서 설명한듯이 php는 php소스 외에도 많은 라이브러리를 필요로 합니다. 만약 서버패키지만 설치하신 사용자께서 제 언급을 무시하시고 설치를 진행하셨다면 ./configure 부분에서 에러가 났을겁니다. 기본적으로 라이브러리는 rpm 패키지 형식으로 내장되어 설치되며 /usr/lib 부분에 설치되는 것을 확인 할 수 있었습니다. 특히 gd에 따로 --with-gd-dir= 옵션을 준 이유는 국내 사용자가 가장 많이 사용하는 제로보드를 위함인데요, 최근 발표된 제로보드 xe 버젼에서는 setup 환경에 gd 라이브러리가 필수라고 나와 있으므로 경로를 특별히 지정해준 예 입니다.

모든 설치는 완료되었습니다. 하지만 모든 설정이 끝난 것은 아닙니다. 스니핑의 공격을 대비하기 위해 ssh도 구축해야 하고 아파치, php, mysql 환경설정도 앞으로 해야 할 일이 많습니다. 하지만 지금 이 설치과정을 마치고 나서 서버가 구동되는데 문제는 없습니다. 마지막으로 아파치 데몬을 가동해 보겠습니다.

#cd /usr/local/apache/bin
#./httpd
#


아무런 메세지가 출력되지 않고 프롬프트 작업콘솔이 띄워지면 아파치가 제대로 실행되고 있다는 것 입니다. DSO 방식으로 설치한 예 이므로 php는 자동으로 로드되어 동작합니다. 만약 php 업데이트를 할 경우에도 DSO 방식이므로 php만 따로 설치하시면 됩니다.


출처 : http://www.xpressengine.com/4912507

반응형

APM 설치법

목록

  • Apache
    $sudo apt-get install apache2
  • PHP5
    $sudo apt-get install php5 libapache2-mod-php5
  • MySQL
    $sudo apt-get install mysql-server
설치시 MYSQL 의 root 비번 설정후 설치되면 MySQL서버가 자동으로 시작
  • phpmyadmin
    $sudo apt-get install phpmyadmin
  • 아파치 웹서버를 재시작
    $sudo /etc/init.d/apache2 restart

--------------------------------
 네임서버

- BIND9 설치

  root@yongbok:~# sudo apt-get install bind9

- BIND9 설정

* named.conf 설정

  root@yongbok:~# vi /etc/bind/named.conf
  // 옵션 파일을 불러오고
  // root 도메인의 정보를 가지고 있는 파일을 지정 해줍니다.
  include "/etc/bind/named.conf.options";
  zone "." {
          type hint;
          file "/etc/bind/db.root";
  };
  // 네임 서버로 사용할 도메인을 지정 해줍니다.
  zone "ns.yongbok.net" IN {
          type master;
          file "/etc/bind/db-yongbok";
  };
  zone "yongbok.net" IN {
          type master;
          file "/etc/bind/db-yongbok";
  };
  // 리버스 도메인을 설정 합니다.
  // 서버의 아이피 주소를 반대로 적어 주시면 됩니다.
  zone "195.137.115.in-addr.arpa" {
          type master;
          file "/etc/bind/ip-yongbok";
  };
  zone "0.0.127.in-addr.arpa" {
          type master;
          file "/etc/bind/loopback-yongbok";
  };
  include "/etc/bind/named.conf.local";

* 인버스 존(Inverse Zone) 파일 생성

  root@yongbok:~# vi /etc/bind/db-yongbok
  ; 인버스 존 파일은 IP에 대해 해당 도메인을 역으로 찾을 수 있도록 해줍니다.
  ; SOA 부분의 ruo91.yongbok.net 는 이메일 주소를 적어주시면 됩니다.
  $TTL        3600
  @        IN        SOA        ns.yongbok.net.        ruo91.yongbok.net.
  (
                                2009122210             ; Serial
                                604800                 ; Refresh
                                86400                  ; Retry
                                2419200                ; Expire
                                86400                  ; Minimum
  )
  ;
  @        IN        NS        ns.yongbok.net.
            A                  115.137.195.169
  www       A                  115.137.195.169

- 리버스 존(Revers Zone) 파일 생성

  root@yongbok:~# vi /etc/bind/ip-yongbok
  ; 리버스 존파일은 도메인 주소를 아이피로 찾을수 있도록 해줍니다.
  ;
  $TTL        3600
  @        IN        SOA        ns.yongbok.net.        ruo91.yongbok.net.
  (
                                2009122210             ; Serial
                                604800                 ; Refresh
                                86400                  ; Retry
                                2419200                ; Expire
                                86400                  ; Minimum
  )
  ;
  @        IN        NS        ns.yongbok.net.
  5        PTR                 yongbok.net
  5        PTR                 www.yongbok.net

- 루프백 리버스 존(Loopback Revers Zone) 파일 생성

  root@yongbok:~# vi /etc/bind/loopback-yongbok
  ; Loopback zone file
  ;
  $TTL        3600
  @        IN        SOA        ns.yongbok.net.        ruo91.yongbok.net.
  (
                                2009122210             ; Serial
                                604800                 ; Refresh
                                86400                  ; Retry
                                2419200                ; Expire
                                86400                  ; Minimum
  )
  ;
  @        IN        NS        ns.yongbok.net.
  1        PTR                 localhost.

- BIND 재시작

  [root@yongbok ~]# /etc/init.d/bind9 restart
   * Stopping domain name service... bind              [ OK ]
   * Starting domain name service... bind              [ OK ]

- 도메인 정보 확인 nslookup 명령어로 DNS 서버 정보를 확인 합니다.

  root@yongbok:~# nslookup www.yongbok.net
    Server:        168.126.63.1
    Address:       168.126.63.1#53
    Non-authoritative answer:
    Name:   www.yongbok.net
    Address: 115.137.195.169
 
-----------------------------

우분투 vsftpd 설치하기

$ sudo apt-get install vsftpd

우분투 vsftp는 설치된 상태에서는 계정 유저는 로그인이 불가하고 anonymous(익명)만 로그인 가능하도록 설정 되어 있다.

일반 계정 사용 허가 설정

패키지 설치 후 일반 계정 사용자가 ftp 접속 불가 합니다.

따라서 vsftpd.conf 파일을 수정 하여야 합니다.

$sudo vi /etc/vsftpd.conf 또는 $gksu gedit /etc/vsftpd.conf

  • local_enable=YES #주석 제거
  • write_enable=YES #주석 제거
  • local_umask=022 #주석 제거

vsftp 재시작

sudo service vsftpd restart

port 변경하기

예) 21번 포트가 막혀 있는 경우 1024 포트로 변경하기

sudo vi /etc/vsftpd.conf

  • listen_port=1024 (1024 포트로 변경)

sudo service vsftpd restart 로 재시작 하면 적용 된다.


+ Recent posts