Ubunto 8.10 LAMP 설치 구성 [Ubunto8.10, Apache2.2, MySql,PHP5] > 우툰투 자료실 정성규 낙엽타는향기 홈페이지

본문 바로가기

우툰투 자료실

우툰투 자료실 HOME


Ubunto 8.10 LAMP 설치 구성 [Ubunto8.10, Apache2.2, MySql,PHP5]

페이지 정보

작성자 정성규 댓글 0건 조회 11,550회 작성일 10-02-09 17:10

본문

1. 네트워크 설정 (기본적인 설정 : dhcp)

#  네트워크 설정 (변경된 설정 : 고정 IP)
1. 고정아이피 설정하기 
sudo vim /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 203.xxx.xxx.xxx
netmask 255.255.255.0
gateway 203.xxx.xxx.xxx


2. DNS 설정하기
sudo vim /etc/resolv.conf

domain xxx.com
search xxx.com
nameserver 203.xxx.xxx.xxx

nameserver 란에 관리자에게서 받은 DNS 주소를 입력한다. 내 경우 회사였기 때문에, domain이나 search 정보는 기본으로 잡혀있었다.

3. 변경된 설정 적용하기
sudo /etc/init.d/networking restart


#Network Restart

 

2. Linux Apache2 PHP5 MySQL5 설치하기


            * Apache 설치
                $sudo apt-get install apache2
            * MySQL 인증
                $sudo apt-get install libapache2-mod-auth-mysql
            * MySQL 설치
                $sudo apt-get install mysql-server mysql-client
            * PHP5 설치
                $sudo apt-get install php5-common php5 libapache2-mod-php5
            * PHP - MySQL 연동
                $sudo apt-get install php5-mysql
            * PHP - GD 설치
                $sudo apt-get install php5-gd
           
            * 아파치 및 MySQL 재시작
                $sudo /etc/init.d/apache2 restart
                $sudo /etc/init.d/mysql restart

            * 아파치 및 MySQL 설정파일위치
                /etc/apache2/apache2.conf
                /etc/mysql/my.cnf
           
            * 아파치 웹루트 폴더
                /var/www -> 루트권한만이 쓰고 지우고 할수 있습니다.
                가상호스트설정폴더
                /etc/apache2/sites-available/default

   

   $sudo gedit /etc/apache2/sites-available/default

   /var/www/ 라고 써 있는 부분들을 원하는 디렉토리로 변경

==============================================

 

-. APM 설치

1. Apache
   $sudo apt-get install apache2

2. mysql 인증 모듈
   $sudo apt-get install libapache2-mod-auth-mysql

3. MySQL
   $sudo apt-get install mysql-server mysql-client
설치가 완료되면 MySQL서버가 자동으로 시작

4. PHP5
   $sudo apt-get install php5-common php5 libapache2-mod-php5

5. MySQL과 연동하기 위한 모듈
   $sudo apt-get install php5-mysql

6. 아파치 웹서버를 재시작
   $sudo /etc/init.d/apache2 restart

7. MySQL서버 정상 작동 확인
   $sudo netstat -tap | grep mysql
명령 후
   tcp 0 0 localhost.localdomain:mysql *:* LISTEN -
면 정상 아니면 재시작
   $sudo /etc/init.d/mysql restart

출처 :
우분투 리눅스에서 APM 설치하기 (웹서버 설정)



-. APM 설정

1. 아파치
     기본설정 파일은 /etc/apache2/apache2.conf
    포트번호, 문서의루트, 모듈, 각종 로그파일, 가상 호스트 등을 설정

2. MySQL
      관리자 암호 설정
   sudo mysqladmin -u root password newrootsqlpassword
   sudo mysqladmin -p -u root -h localohost password newrootpassword

   MySQL 설정파일은 /etc/mysql/my.cnf
      로그 파일, 포트 번호 등을 설정

출처 :
우분투 리눅스에서 APM 설치하기 (웹서버 설정)



-. Apache 로그 설정

단일 파일에 저장되는 아파치 웹로그를 날짜별로 분할

1. 다운로드 및 압축해제
   
다운로드
    $ tar xvf cronolog-1.6.2.tar

2. 설치 경로 수정
    $ cd cronolog-1.6.2
    $ vi ./configure
       ac_default_prefix=설치경로    (기본값은 /usr/local)
    $ ./configure
    $ make
    $ make install

3. 아파치 설정
    /etc/apache2/sites-available/사이트 설정 파일 의 CustomLog 값 변경
CustomLog "|/설치경로/sbin/cronolog /로그폴더/%Y%m%d_access.log" combined env=!nolog
    가상 호스팅은 경우에는 로그폴더도 사이트별로 나누면 좋다.
    예) /var/log/apache2/mr-dust.pe.kr/
         CustomLog "|/설치경로/sbin/cronolog /var/log/apache2/mr-dust.pe.kr/%Y%m%d_access.log" combined env=!nolog

출처 :
apache 로그 날짜별로 저장



-. Mysql 설정

1. 초기 mysql root 패스워드 설정하기

    mysql 서버에 패스워드 없이 로그인 하게되면 서버에 만들어진 데이터베이스나 테이블 기타 이곳에 저장된 자료가 외부인에게 노출될 수 있다. 따라서 이러한 보안을 목적으로 root 패스워드를 지정하면 mysql 서버를 안전하게 보호할 수 있다.

    mysql> use  mysql;
    mysql> update  user  set  password=password('123456') where user='root';
Query OK, 2 rows affected (0.03 sec)
Rows matched: 2  Changed: 2  Warnings: 0
    mysql> flush  privileges; <--- 적용
flush privileges; 를 하지 않으면 mysql에서 빠져나와서 root 로그인이 안된다.

확인한다.
    mysql> select  host, user, password  from  user;
+----------------------------------------------------------------+
| Host                          user              password       |
+----------------------------------------------------------------+
| localhost                     root          2e01146f5c065853   |
| localhost.localdomain         root          2e01146f5c065853   |
+----------------------------------------------------------------+

    mysql> \q
Bye
------------------------------------------------------------------------------------
[주의]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

이때는 mysql 을 shutdown 하거나 reload 하면 된다.
# /usr/local/mysql/bin/mysqladmin -u root -p shutdown
하면 패스워드를 묻는데 이때 입력하면 설정한 mysql이 적용이된다.
# /usr/local/mysql/bin/mysqladmin -u root -p reload;
------------------------------------------------------------------------------------



2. root 패스워드를 분실한 경우(응급조치)

    mysql 을 오랫동안 사용하지 않았을 경우에 간혹 root패스워드가 기억나질않아서 당황할 때가 있습니다.  시스템관리자라면 시스템의 root나 MySQL의 root의 암호를 잊어 버렸을 때를 대비해서 패스워드를 새로 설정하는 방법을 반드시 숙지하고 있어야 할 것입니다.

    ① 실행중인 msyql 종료

        # ps -ef | grep mysqld
root      9567     1  0 Mar16 ?        00:00:00 sh ./mysqld_safe
root      9576  9567  0 Mar16 ?        00:00:00 /usr/local/mysql/libexec/mysqld
root      9578  9576  0 Mar16 ?        00:00:00 /usr/local/mysql/libexec/mysqld
root      9579  9578  0 Mar16 ?        00:00:00 /usr/local/mysql/libexec/mysqld
        # killall mysqld

    ② grant-table 미사용모드로 mysql시작(권한 테이블을 사용하지 않는 옵션으로 데몬 실행)

   
    # ./safe_mysqld  --skip-grant-tables &
[1] 12084

        # Starting mysqld daemon with databases from /usr/local/mysql/data

        # ./mysql -u  root  mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 3.22.24
Type 'help' for help.
        mysql>
※ mysqld_safe 명령어는 mysql 데몬을 실행시킨다.

    ③ update문으로 root사용자 패스워드 갱신

        mysql> update user set password=password('123') where user = 'root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0
        mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
        mysql> \q        
Bye

④ 실행중인 mysql 다시 종료(권한 테이블을 사용하지 않는 데몬을 종료)

    # ps -ef | grep mysqld
root     12084 11558  0 20:10 pts/2    00:00:00 sh ./mysqld_safe --skip-grant-ta
root     12090 12084  0 20:10 pts/2    00:00:00 /usr/local/mysql/libexec/mysqld
root     12092 12090  0 20:10 pts/2    00:00:00 /usr/local/mysql/libexec/mysqld
root     12093 12092  0 20:10 pts/2    00:00:00 /usr/local/mysql/libexec/mysqld
    #
    # killall mysqld
mysqld daemon ended
[1]+  Done                    ./mysqld_safe --skip-grant-tables
    #

⑤  Mysql 데몬 재 실행 후 갱신된 패스워드로 로그인

    # ./safe_mysqld &
[1] 12102
    # Starting mysqld daemon with databases from /usr/local/mysql/data
    #

    # ps -ef | grep mysql
root     12102 11558  0 20:13 pts/2    00:00:00 sh ./mysqld_safe
root     12108 12102  0 20:13 pts/2    00:00:00 /usr/local/mysql/libexec/mysqld
root     12110 12108  0 20:13 pts/2    00:00:00 /usr/local/mysql/libexec/mysqld
root     12111 12110  0 20:13 pts/2    00:00:00 /usr/local/mysql/libexec/mysqld

    # mysql -u  root  -p
Enter Password: ***************
[이 게시물은 최고관리자님에 의해 2021-10-19 15:23:30 notebook에서 이동 됨]

댓글목록

등록된 댓글이 없습니다.

Total 68 / 2 page

우툰투 자료실 목록

게시물 검색