Server - System - Manager - CentOS, Operation System, VBB, HACKING AND SECURITY

Go Back   Server - System - Manager - CentOS, Operation System, VBB, HACKING AND SECURITY > CentOS Việt Nam - Viet Nam Linux CentOS Community > Cài đặt CentOS và ứng dụng

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 22-07-2008
Lovelinux's Avatar
Super Moderator
 
Join Date: Jun 2008
Posts: 221
Thanks: 22
Thanked 46 Times in 24 Posts
Default 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 Server

Cài đặt webserver từ các gói riêng biệt: apache 2.2.9, PHP 5.2.6 MySQL 5.0.51b, Proftp1.3.1 trên hệ điều hành CentOS5.1
- Cài đặt hệ điều hành ở mức cơ bản nhất, update
- Cài đặt thêm các gói thư viện: có thể cài từ DVD cài đặt hay cài qua mạng. Tốt nhất là cài qua mạng để có được các gói mới nhất.
- Download các gói
- Cài đặt Mysql
- Biên dịch apache và PHP và cấu hình cho PHP chạy với apache
- Cấu hình apache chạy được Vhost theo các user và các module liên quan.
- Cài đặt các công cụ quản lý SQL: phpmyadmin
- Cài đặt Proftp 1.3.1
- Test


Tại sao ta lại phải cài từng gói trong khi chỉ bằng vài thao tác đơn giản trong quá trình cài đặt, ta cũng có thể có một server với đầy đủ các phần mềm như thế? Câu trả lời chính là các gói được kèm theo bộ cài hay được cài phân phối để chúng ta cài thông qua lệnh yum thường không có được những phiên bản mới nhất, và đặc biệt là chúng ta rất khó tối ưu được chúng. Vì thể khi chúng ta tự biên dịch lấy tuy có khó khăn hơn và phức tạp hơn nhưng nó cho chúng ta được quyền làm chủ hoàn toàn, ta hoàn toàn có thể thêm hay bớt những module nào mà mình muốn và bỏ đi cái nào mà mình không muốn, nhằm đem lại cho chúng ta một server mạnh mẽ và an toàn nhất. Và đặc biệt cảm giác tự mình build mọi cái sẽ vui hơn rất nhiều, và nó cho mình nhiều cái để học. Chúng ta cùng bắt tay vào làm nào.

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:


PHP Code:
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:


PHP Code:
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.Download các gói:
Chúng ta sẽ download các gói từ những link sau:
Apache: Welcome! - The Apache HTTP Server Project

PHP Code:
wget http://apache.cs.utah.edu/httpd/httpd-2.2.9.tar.bz2 


PHP: PHP: Hypertext Preprocessor

PHP Code:
wget http://vn2.php.net/distributions/php-5.2.6.tar.bz2 


MySQL: MySQL :: The world's most popular open source database

PHP Code:
wget ftp://mirror.anl.gov/pub/mysql/Downloads/MySQL-5.0/mysql-5.0.51b.tar.gz 


ProFTP: The ProFTPD Project: Home

PHP Code:
wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.1.tar.bz2 

Chúng ta download các file trên bằng lệnh wget và đường dẫn đến file, ví dụ:
PHP Code:
                            wget http://apache.cs.utah.edu/httpd/httpd-2.2.9.tar.bz2 



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:

PHP Code:
groupadd mysql 


PHP Code:
useradd -g mysql mysql 

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

PHP Code:
tar -vxzf mysql-5.0.51b.tar.gz 


PHP Code:
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:

PHP Code:
./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:


PHP Code:
./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 


PHP Code:
make
make install 

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


PHP Code:
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:

HTML Code:
./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.


PHP Code:
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):


PHP Code:
cp ./support-files/my-medium.cnf /etc/my.cnf 


PHP Code:
chown root:sys /etc/my.cnf 

PHP Code:
                            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:


PHP Code:
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:

PHP Code:
cp ./support-files/mysql.server /etc/rc.d/init.d/mysql 


PHP Code:
chmod +/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:

PHP Code:
cd /usr/local/mysql/bin


PHP Code:
for file in *; do ln -/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:

PHP Code:
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:

PHP Code:
                            mysqladmin version 
Chúng ta sẽ thấy có kết quả như sau:


PHP Code:
mysqladmin  Ver 8.41 Distrib 5.0.51b, for redhat-linux-gnu on i686
Copyright 
(C2000-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:

PHP Code:
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:

PHP Code:
mysql -u root –p 


Bạn sẽ được yêu cầu nhập password
Enter password:
Khi nhập đúng các bạn sẽ có được kết quả:

PHP Code:
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 helpType '\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:

PHP Code:
tar -vxjf httpd-2.2.9.tar.bz2 



PHP Code:
tar -vxjf php-5.2.6.tar.bz2 



Biên dịch Apache:

PHP Code:
cd httpd-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

PHP Code:
./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:

PHP Code:
                            ./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 



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


PHP Code:
./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


PHP Code:
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

PHP Code:
ln -/usr/local/php/lib/php.ini /etc/php.ini 

PHP Code:
ln -/usr/local/apache2/conf/httpd.conf /etc/httpd.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 httpd.conf :


PHP Code:
vi /etc/httpd.conf 



Tìm đến dòng


PHP Code:
AddType application/x-gzip .gz .tgz 



Chúng ta thêm vào ngay bên dưới dòng sau:


PHP Code:
AddType application/x-httpd-php .php 



Tìm đến dòng
PHP Code:
                            <IfModule dir_module>
    
DirectoryIndex index.html
</IfModule



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

PHP Code:
<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:


PHP Code:
echo "/usr/local/apache2/lib/" >> /etc/ld.so.conf 


PHP Code:
ldconfig 


PHP Code:
cd /usr/local/apache2/bin


PHP Code:
                            for file in *; do ln -/usr/local/apache2/bin/$file /usr/bin/$file;
done 



PHP Code:
cd /usr/local/php/bin


PHP Code:
                            for file in *; do ln -/usr/local/php/bin/$file /usr/bin/$file;
done 



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

PHP Code:
                            ln -/usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd 



PHP Code:
chmod +/etc/rc.d/init.d/httpd 

PHP Code:
                            ln -/etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S90httpd 



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

PHP Code:
service httpd start 
Chúng ta cần tạo một file phpinfo.php để kiểm tra các thông số:

PHP Code:
                            vi /usr/local/apache2/htdocs/phpinfo.php 
PHP Code:
<?php
echo phpinfo();
?>

Sau đó chúng ta vào một máy khác gõ vào trình duyệt
http://ip-server/phpinfo.php

ip server là IP máy chúng ta cài server
Nếu các bạn nhìn thấy các thông số của apache và php trên server thì xin chúc mừng.
Chúng ta đã hoàn thành việc cài đặt cho server

Xin Chúc Mừng !
Admin Vietnam Forum

Last edited by Lovelinux; 22-07-2008 at 10:37 PM.
Reply With Quote
  #2 (permalink)  
Old 16-10-2008
Hackingart Member
 
Join Date: Oct 2008
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Hô hô... ! leech bài giỏi quá ta... supper Mod leech bài giỏi thế ! có biết ai là tác giả của tut này không mà post lên ko ghi tác giả hả supper Mod ! =))
Reply With Quote
  #3 (permalink)  
Old 16-10-2008
Admin's Avatar
Administrator
 
Join Date: Jun 2008
Location: USA
Posts: 404
Thanks: 21
Thanked 19 Times in 17 Posts
Send a message via Skype™ to Admin
Default

Xin Chúc Mừng !
Admin Vietnam Forum
Có nguồn đây nè bạn
__________________
Hacking - The Art of Exploitation
DomainKeys: Chìa khóa quan trọng của Anti-Spammer
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Các bước cài đặt CentOS (có hình minh họa) Lovelinux Cài đặt CentOS và ứng dụng 1 25-07-2008 12:22 PM
Bắt đầu với CD CentOS Single Server Lovelinux Cài đặt CentOS và ứng dụng 0 22-07-2008 09:00 PM
Cài đặt, cấu hình Linux SQUID Proxy Server Lovelinux Proxy Server 0 09-07-2008 07:49 PM
Cấu hình pgAdmin3 trên CentOS 5 sieuhosting Giới thiệu CentOS và tài liệu 0 09-07-2008 10:36 AM
Install Apache 2.2.6, PHP 5, MySQL (sử dụng yum) Lovelinux Apache cho CentOS 0 28-06-2008 03:37 PM


All times are GMT +1. The time now is 10:39 PM.


© Diễn đàn HackingArt (HA) được xây dựng và phát triển bởi các thành viên.
+ Diễn đàn HackingArt là nơi trao đổi của các webmaster chuyên nghiệp.