2009. 8. 7. 16:08

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

출처 : [Mysql] password설정 및 변경, root 비번 잃어버렸을 경우 변경법
Posted by 알 수 없는 사용자