Cài Đặt Và Cấu Hình LAMP Với Apache 2.2.9, PHP5.2.6, MySQL 5.0.51b, CentOS 5.1 S

Tác giả admin+, T.Ba 14, 2011, 06:02:39 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Cài đặt và hấu Hình LAMP với Apache 2.2.9, PHP5.2.6, MySQL 5.0.51b, CentOS 5.1 Server


1. Cài đặt hệ điều hành.

Phần này đã được nói rõ trong mục khác, ở đây chúng ta chỉ điểm qua vài vấn đề quan trọng khi cài.
Chú ý trong quá trình cài đặt, khi chương trình đưa ra danh sách các kiểu cài ta không chọn vào gì cả, như thế chúng ta sẽ có một hệ điều hành gọn nhẹ.

Chú ý nếu như ai có khả năng hiểu biết thì có thể chọn vào phần customize để bỏ thêm đi một số mục không cần thết như Text-base internet, Dialup networking support.


Sau khi cài xong máy sẽ khởi động lại, để Update các bản cập nhật cho máy ta dùng lệnh:

Mã nguồn [Chọn]
#yum update
2. Cài thêm các thư viện cần thiết.

Trong quá trình biên dịch các gói như MySQL,apache hay PHP chúng ta cần thêm bộ biên dịch và một số thư viện, chúng ta sẽ bổ sung chúng bằng câu lệnh sau:

Mã nguồn [Chọn]
#yum install gcc gcc-c++ openssl bzip2 unzip zip ncurses-devel zlib-devel openssl-devel libxml2-devel  curl-devel libjpeg-devel libpng-devel freetype-devel mhash-devel libmcrypt libmcrypt-devel libpng-devel

3. Tải về các gói.

Chúng ta sẽ download các gói từ những link sau:

Apache:

#wget   Đăng nhập để xem liên kết

PHP:

Mã nguồn [Chọn]
#wget [url=https://vn2.php.net/distributions/php-5.2.6.tar.bz2]https://vn2.php.net/distributions/php-5.2.6.tar.bz2[/url]
MySQL:

Mã nguồn [Chọn]
#wget [url=https://ftp://mirror.anl.gov/pub/mysql/Downloads/MySQL-5.0/mysql-5.0.51b.tar.gz]ftp://mirror.anl.gov/pub/mysql/Downloads/MySQL-5.0/mysql-5.0.51b.tar.gz[/url]
ProFTP:

Mã nguồn [Chọn]
#wget [url=https://ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.1.tar.bz2]ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.1.tar.bz2[/url]
Chúng ta download các file trên bằng lệnh wget và đường dẫn đến file, ví dụ:

Mã nguồn [Chọn]
#wget [url=https://apache.cs.utah.edu/httpsd/httpsd-2.2.9.tar.bz2]https://apache.cs.utah.edu/httpsd/httpsd-2.2.9.tar.bz2[/url]
Giả sử các gói trên đều được tải về thư mục /usr/local/setup

4. Biên dịch MySQL

Trước tiên chúng ta cần tạo một user và group dành riêng cho MySQL chạy:

Mã nguồn [Chọn]
#groupadd mysql

#useradd -g mysql mysql

Giải nén file nén của bộ MySQL và biên dịch:

Mã nguồn [Chọn]
tar -vxzf mysql-5.0.51b.tar.gz

cd mysql-5.0.51b

Trước tiên chúng ta cần tạo ra file kịch bản để chương trình dịch có thể dịch chương trình theo ý chúng ta. Thông thường để biên dịch một chương trình chúng ta có rất nhiều lựa chọn, để xem được các lựa chọn này chúng ta dùng lệnh:

Mã nguồn [Chọn]
./configure –help | less
Khi chạy lệnh này chương trình sẽ liệt kê ra rất nhiều lựa chọn, nếu như có thể thì chúng ta đọc thêm phần này và quyết định thêm mình sẽ dùng thêm lựa chọn nào tùy thuộc vào nhu cầu của mỗi người.
Chúng ta sẽ biên dịch MySQL bằng những câu lệnh sau:

Mã nguồn [Chọn]
./configure
--prefix=/usr/local/mysql
--localstatedir=/usr/local/mysql/data
--with-unix-soket-path=/usr/local/data
--disable-maintainer-mode
--with-mysqld-user=mysql
--enable-large-files-without-debug
--without-comment
--without-bench

make
make install

Tiếp theo chúng ta tạo thư mục data trong thư mục Mysql:

Mã nguồn [Chọn]
mkdir /usr/local/mysql/data
Hiện tại MySQL đã được cài đặt nhưng chưa hoàn chỉnh, chúng ta cần chạy thêm những lệnh sau:

Mã nguồn [Chọn]
./scripts/mysql_install_db
Tiếp theo để đảm bảo vấn đề bảo mật ta cần gán quyền chỉ cho phép user root và MySQL được phép truy cập vào thư mục của MySQL cũng như database.

Mã nguồn [Chọn]
chown -R root:mysql /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/data

Tiếp theo chúng ta copy file cấu hình cho MySQL, tùy thuộc vào cấu hình của server mà bạn sẽ chọn những file cho phù hợp (small, medium, large, huge):

Mã nguồn [Chọn]
cp ./support-files/my-medium.cnf /etc/my.cnf

chown root:sys /etc/my.cnf

chmod 644 /etc/my.cnf

Tiếp theo chúng ta cần khai báo cho hệ thống biết chỗ chứa các thư viện của MySQL. Chúng ta sẽ sử dụng liên kết động đến các thư viện này và chỉ nạp khi cần. Như thế sẽ làm cho bộ nhớ của hệ thông ở mức ít nhất:

Mã nguồn [Chọn]
echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
ldconfig

Tiếp theo chúng ta tạo script cho MySQL tự chạy mỗi khi chúng hệ thống chạy:

Mã nguồn [Chọn]
cp ./support-files/mysql.server /etc/rc.d/init.d/mysql

chmod +x /etc/rc.d/init.d/mysql

Để chạy được các file của MySQL (như mysqladmin,mysqldump...) chúng ta cần chạy những lệnh sau:

Mã nguồn [Chọn]
cd /usr/local/mysql/bin/

for file in *; do ln -s /usr/local/mysql/bin/$file /usr/bin/$file;
done

Đến đây công việc cài đặt MySQL đã xong cơ bản, để khởi động MySQL chúng ta chạy:

Mã nguồn [Chọn]
service mysql start
Nếu bạn nhìn thấy dòng chữ Starting MySQL SUCCESS! thì xin chúc mừng bạn. MySQL đã chạy, còn nếu có thông báo lỗi gì thì chúng ta cần xem lại quá trình đã làm ở trên.
Để chắc chắn xem MySQL đã chạy chưa các bạn có thể dùng lệnh:

Mã nguồn [Chọn]
mysqladmin version
Chúng ta sẽ thấy có kết quả như sau:

Mã nguồn [Chọn]
mysqladmin  Ver 8.41 Distrib 5.0.51b, for redhat-linux-gnu on i686
Copyright (C) 2000-2006 MySQL AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Server version          5.0.51b-log
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket /tmp/mysql.sock
Uptime: 2 min 40 sec

Khi cài xong thì password của MySQL là trắng vì thế ta cần phải đổi password này bằng lệnh:

Mã nguồn [Chọn]
mysqladmin -u root password "new-password"
Trong đó new-password là do bạn đặt và chú ý là không có dấu ""

Để kiểm tra lại password mình vừa đưa vào có chính xác không chúng ta dùng lênh:

Mã nguồn [Chọn]
mysql -u root –p
Bạn sẽ được yêu cầu nhập password. Khi nhập đúng các bạn sẽ có được kết quả:

Mã nguồn [Chọn]
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 3
Server version: 5.0.51b-log Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

5. Biên dịch Apache và PHP

Trước tiên chúng ta cũng cần giải nén chúng:

Mã nguồn [Chọn]
tar -vxjf httpsd-2.2.9.tar.bz2

tar -vxjf php-5.2.6.tar.bz2

Biên dịch Apache:

Mã nguồn [Chọn]
cd httpsd-2.2.9
Chúng ta sẽ biên dịch apache ở mức tối thiểu, tức là cần gì thì biên dịch module đó để biết thêm về các module chúng ta có thể tham khảo thêm lệnh.

Mã nguồn [Chọn]
./configure --help | less
Ở đây tôi cần chạy các module deflate, suexec, vhost, unique-id, rewrite nên tôi sẽ build như sau:

Mã nguồn [Chọn]
./configure
--prefix=/usr/local/apache2
--enable-shared=max
--enable-unique-id
--enable-rewrite
--enable-dav
--enable-dav-lock
--enable-logio
--enable-headers
--enable-ssl
--enable-vhost-alias
--enable-suexec
--enable-deflate
--enable-module=so

make

make install

Tiếp theo là biên dịch PHP:

Mã nguồn [Chọn]
./configure
--prefix=/usr/local/php
--with-apxs2=/usr/local/apache2/bin/apxs
--with-curl=/usr/lib
--with-gd
--enable-inline-optimization
--disable-debug
--enable-gd-native-ttf
--with-ttf
--with-gettext
--with-jpeg-dir=/usr/lib
--with-freetype-dir=/usr/lib
--with-kerberos
--with-openssl
--with-mcrypt
--with-mhash
--with-mysql=/usr/local/mysql
--with-pear
--with-png-dir=/usr/lib
--with-zlib
--with-zlib-dir=/usr/lib
--enable-zip
--enable-bcmath
--enable-calendar
--enable-ftp
--enable-magic-quotes
--enable-sockets
--enable-mbstring
--enable-wddx=shared
--enable-xml
--with-regex=system

make
make install

copy file php.ini vào thư mục PHP

cp php.ini-dist /usr/local/php/lib/php.ini

Để cho tiện sửa đổi ta tạo các liên kết của các file config của apache và php vào trong thư mục /etc

Mã nguồn [Chọn]
ln -s /usr/local/php/lib/php.ini /etc/php.ini

ln -s /usr/local/apache2/conf/httpsd.conf /etc/httpsd.conf

Đến đây PHP đã được biên dịch để chạy được với Apache, chúng ta cần cấu hình apache để hiểu được file .php
Mở file httpsd.conf:

Mã nguồn [Chọn]
vi /etc/httpsd.conf
Tìm đến dòng

Mã nguồn [Chọn]
AddType application/x-gzip .gz .tgz
Chúng ta thêm vào ngay bên dưới dòng sau:

Mã nguồn [Chọn]
AddType application/x-httpsd-php .php
Tìm đến dòng

Mã nguồn [Chọn]
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>

Chúng ta sửa lại như sau:

Mã nguồn [Chọn]
<IfModule dir_module>
DirectoryIndex index.php index.htm index.php3 index.html
</IfModule>

Cũng như MySQL chúng ta cần khai báo vị trí các thư viện và các file binary của apache:

Mã nguồn [Chọn]
echo "/usr/local/apache2/lib/" >> /etc/ld.so.conf

ldconfig

cd /usr/local/apache2/bin/

for file in *; do ln -s /usr/local/apache2/bin/$file /usr/bin/$file;
done

cd /usr/local/php/bin/

for file in *; do ln -s /usr/local/php/bin/$file /usr/bin/$file;
done

Tạo script để apache tự khởi động:

Mã nguồn [Chọn]
ln -s /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpsd

chmod +x /etc/rc.d/init.d/httpsd

ln -s /etc/rc.d/init.d/httpsd /etc/rc.d/rc3.d/S90httpsd

Để bật Apache chúng ta dùng lệnh:

Mã nguồn [Chọn]
#service httpsd start
Chúng ta cần tạo một file phpinfo.php để kiểm tra các thông số:

Mã nguồn [Chọn]
# vi /usr/local/apache2/htdocs/phpinfo.php

<?php
echo phpinfo();
?>