banner
 .::*nix::. Thiết lập webserver trên Linux Go to original post Author: Trần Hữu Phước (subnetwork) - Translator:  - Entry Date: 20/02/2009 14:04:52
Bài viết này tôi viết dành cho anh em mới bắt đầu làm quen với Linux, để bắt đầu cài đặt webserver thì bạn cần download Mysql-4.1.21, Apache_1.3.37 , Php-5.1.4

Bài viết này cũng là nguồn tham khảo khi anh em đang sử dụng Apache 2.X, Mysql 4.1 mà muốn quay lại sử dụng Apache 1.X, MySQL 4.0 . Ở điểm nào sai hay không hiểu thì vui lòng đừng "chọt" hãy mở một topic mới chúng ta cùng bàn luận .

Anh em có thể ra Google để tìm link download những thứ mà mình cần
Cài đặt Mysql-4.1.21
Đầu tiên download Mysql-4.1.21 và sử dụng tar để giải nén .
[root@localhost ~]# rpm -qa | grep -i MYSQL
perl-DBD-MySQL-2.9007-1
mysqlclient10-3.23.58-6
mysql-4.1.11-2
libdbi-dbd-mysql-0.7.1-3
MySQL-python-1.2.0-1
mysql-server-4.1.11-2 


Nếu những dòng trên xuất hiện thì bạn làm bước sau để xoá bỏ tất cả các gói cài đặt (package)
Code:


[root@localhost ~]# rpm -e mysql-4.1.11-2 

[root@localhost ~]# rpm -e mysql-server-4.1.11-2



Sau khi bạn xoá các gói cài đặt Mysql xong, bạn sử dụng
Code:


[root@localhost ~]# ps aux | grep mysqld 

root 5567 0.0 0.1 3824 768 pts/1 S+ 22:53 0:00 grep mysqld



Làm sạch các process (tiến trình)
Code:


[root@localhost ~]#killall mysqld



Tạo nhóm (nhóm này có tên là mysql)
Code:


[root@localhost ~]# groupadd mysql



Tạo tài khoản người dùng
Code:


[root@localhost ~]# useradd -g mysql mysql



Tiếp theo sử dụng trình vi để soạn thảo một script và đặt tên là config_mysql
CFLAGS="-O3"
CXX=gcc
CXXFLAGS="-O3 \
-mpentiumpro \
-mstack-align-double \
-felide-constructors \
-fno-exceptions -fno-rtti"
./configure \
--prefix=/usr/local/mysql \
--with-extra-charsets=complex \
--enable-thread-safe-client \
--enable-local-infile \
--enable-assembler \
--disable-shared \
--with-client-ldflags=-all-static \
--with-mysqld-ldflags=-all-static
 


Ở đoạn script này, khi cài đặt mysql xong thì đường dẫn chứa mysql sẽ là usr/local/mysql
Sau khi tạo xong script bạn chép nó vào thư mục chứa mã nguồn mysql ví dụ như /opt/mysql

Chạy script này bằng lệnh (chú ý CHMOD cho script này sang 755)
[root@localhost mysql-4.1.21]chmod 755 config_mysql
[root@localhost mysql-4.1.21]#./config_mysql
[root@localhost mysql-4.1.21]#make 


Sau khi đợi cho nó kiểm tra lỗi xong, nếu không có lỗi xuất hiện . Bạn chạy tiếp lệnh sau
[root@localhost mysql-4.1.21]#make install
[root@localhost mysql-4.1.21]scripts/mysql_install_db
[root@localhost mysql-4.1.21]chown -R root /usr/local/mysql
[root@localhost mysql-4.1.21]chown -R mysql /usr/local/mysql/var
[root@localhost mysql-4.1.21]chgrp -R mysql /usr/local/mysql 


Đến đây việc cài Mysql đã hoàn tất . Chạy tiếp để test MySQL
[root@localhost mysql-4.1.21]# /usr/local/mysql/bin/mysqladmin version
/usr/local/mysql/bin/mysqladmin Ver 8.41 Distrib 4.1.21, for pc-linux-gnu on i686
Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult 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 4.1.21
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /tmp/mysql.sock
Uptime: 8 min 52 sec
Threads: 1 Questions: 1 Slow queries: 0 Opens: 11 Flush tables: 1 Open tables: 5 Queries per second avg: 0.002 


Chú ý :
- Kiểm tra file mysql.sock có thể nó không tồn tại
- Kiểm tra file /etc/my.cnf và thay đổi đường dẫn chứa file mysql.sock

Để tạo password mới cho nó
Code:


[root@localhost mysql-4.1.21]# /usr/local/mysql/bin/mysqladmin -u root password root


Ở đây tôi đặt password là root để tiện việc tra cứu trên localhost (đừng sử dụng password như thế kẻo có ngày toi mạng)

Nếu bạn sử dụng trên domain thì có thể sử dụng
Code:


/usr/local/mysql/bin/mysqladmin -u root -h vietdown.org root goldenautumn


goldenautumn : là password mới nhất của tôi

Ok đến đây đã xong, bây giờ bạn muốn truy cập vào mysql thử xem
[root@localhost mysql-4.1.21]# mysql -u root -p
Enter password:  


Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4 to server version: 4.1.21
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>


Nếu màn hình như trên xuất hiện thì OK rồi đó bạn ah, ở đây bạn có thể tạo database, gán quyền truy cập đến database hay làm bất cứ cái gì mà mysql có . Tất cả đều có trong đây .

Cấu hình cho Apache 1.3.6
Tôi thử xem các dịch vụ đang chạy trên PC của mình có em nào mang tên là httpd hay không, tôi gõ lệnh :
root@localhost mysql-4.1.21]# chkconfig --list
httpd 0:off 1:off 2:on 3:off 4:off 5:off 6:off 


Nhìn ở trên 0:off 1:off 2:on rồi cứ thế đến 6:off này là gì vậy bà con ?
Đây gọi là runlevel đó mà , bà con tạm hiểu tiếng Việt cũng như tiếng Anh là mức hoạt động của hệ thống .
Trong *nix bao gồm 7 mức tính từ 0 cho đến 6 . Nó nằm trong /etc/rc.d/rc0 -> 6.d đó, bà con tìm hiểu phần này luôn nhé , nếu bà con không hiểu thì mở topic mới lên, tui và anh em dân chơi không sợ mưa rơi giải thích với bà con hiểu .

Tôi cũng làm giống như Mysql cũng chạy
[root@localhost mysql-4.1.21]# rpm -q httpd
httpd-2.0.54-10 

Nó đây rồi, đừng đi đâu nữa , đem vài chai bia với mồi nhắm nó nhanh lên .
Apache cũa tôi đang sử dụng là 2.054-10 . Tôi thử xoá nó xem,
Code:


[root@localhost mysql-4.1.21]#rpm -e httpd-2.0.54-10



Một thông báo như sau xuất hiện .
error: Failed dependencies:
httpd-mmn = 20020903 is needed by (installed) mod_perl-2.0.0-0.rc5.3.i386
httpd-mmn = 20020903 is needed by (installed) mod_python-3.1.4-2.i386
httpd-mmn = 20020903 is needed by (installed) mod_ssl-2.0.54-10.i386
httpd-mmn = 20020903 is needed by (installed) php-5.0.4-10.i386
webserver is needed by (installed) webalizer-2.01_10-28.i386
httpd = 2.0.54-10 is needed by (installed) httpd-manual-2.0.54-10.i386
httpd >= 2.0.40 is needed by (installed) mod_perl-2.0.0-0.rc5.3.i386
httpd >= 2.0.40 is needed by (installed) mod_python-3.1.4-2.i386
httpd = 2.0.54-10 is needed by (installed) mod_ssl-2.0.54-10.i386
httpd is needed by (installed) system-config-httpd-1.3.2-2.noarch 


Nhìn ở dòng này, có gì sai chăng bà con thử dịch nó sang tiếng Việt xem . Ở đây nào là mod_python-3.1.4-2.i386 , mod_ssl-2.0.54-10.i386 rồi đến mod_perl-2.0.0-0.rc5.3.i386 . Ở đây nó nói lên điều gì, vì mặc định các module Apache 2.x sẽ có thêm các module như mod_ssl, mod_python và mod_perl mặc định Apache 1.3 thì chắc chắn không có module mod_ssl . Vậy làm thế nào bây giờ nhĩ . “Xữ” nó vậy, tôi chạy tiếp (trừ cái Php ra nhé – nếu lỡ xoá nó thì chạy vào đây download nó về)
Code:


http://dc.qut.edu.au/cgi-bin/rpm.cgi



Code:


[root@localhost mysql-4.1.21]# rpm -e mod_ssl-2.0.54-10.i386


Sau khi thực thi xong, xem các process dính dáng đến Apache nó còn chạy không
[root@localhost mysql-4.1.21]# ps aux | grep httpd
root 32621 0.0 0.1 3824 772 pts/2 S+ 00:56 0:00 grep httpd 


Nó còn thì chạy tiếp
Code:


[root@localhost mysql-4.1.21]# killall httpd


Sau khi làm sạch sẽ đám httpd xong, ta bắt đầu cài đặt Apache
Download Apache ví dụ nó là apache_1.3.37 và giải nén nó ra , chép nó vào thư mục sau /usr/local/src
Tạo một script sau và đặt tên cho nó là apache_install và nó nằm ở thư mục /root , cũng như Mysql tôi CHMOD nó sang 755
cd /usr/local/src/apache_1.3.37
make distclean
./configure \
--prefix=/www \
--enable-module=so \
--enable-module=rewrite \
--enable-shared=rewrite \
--enable-module=setenvif \
--enable-shared=setenvif \
--enable-module=mime \
--enable-shared=mime \
--enable-module=mime_magic \
--enable-shared=mime_magic \
--enable-module=dir \
--enable-shared=dir \
--enable-module=auth \
--enable-shared=auth \
--enable-module=access \
--enable-shared=access \
--enable-module=alias \
--enable-shared=alias \
--enable-module=status \
--enable-shared=status \
--enable-module=userdir \
--enable-shared=userdir \
--enable-module=vhost_alias \
--enable-shared=vhost_alias \
--enable-module=env \
--enable-shared=env \
--enable-module=log_referer \
--enable-shared=log_referer \
--enable-module=log_config \
--enable-shared=log_config \
--enable-module=log_agent \
--enable-shared=log_agent \
--enable-module=headers \
--enable-shared=headers 


[root@localhost ~]# ./apache_install
[root@localhost ~]# cd /usr/local/src/apache_1.3.37
[root@localhost apache_1.3.37]# make
[root@localhost apache_1.3.37]# make install
[root@localhost apache_1.3.37]# ln -s /www/bin/apachectl /usr/bin/apachectl
[root@localhost apache_1.3.37]# ln -s /www/bin/apachectl /usr/sbin/apachectl 


Bật Apache lên bà con nhé
Code:


[root@localhost apache_1.3.37]# apachectl start



Cài đặt Php
Đang ở thư mục /usr/local, tạo tiếp một script đặt tên là php_install

cd php-5.1.4
./configure \
--with-apxs=/www/bin/apxs \
--with-mysql=/usr/local/mysql \
--enable-ftp \
--enable-trans-sid 


[root@localhost php-5.1.4]# make && make install
[root@localhost php-5.1.4]# cp php.ini-dist /usr/local/lib/php.ini 


Mở /www/conf/httpd.conf tìm dòng AddModule, thêm vào
Code:


AddModule mod_php5.c



Tìm dòng LoadModule, thêm vào
Code:


LoadModule php5_module        libexec/libphp5.so



Tìm dòng thay đổi nó thành

DirectoryIndex index.php default.php index.html index.htm
 


Ok bây giờ thử tạo tập tin .php nào đó và chạy nó xem
Tập tin index.php của tôi
<?php
echo 'Toi yeu vo tui';
?> 


Bây giờ mở trình duyệt lên và test thử xem
http://localhost/index.php

Một điểm cần lưu ý :
Ở đây tôi dùng PHP 5.1.4 kết hợp với Apache 1.3 vì vậy khi cài đặt có thể libphp5.so không được load vì vậy khi bật Apache lên thì thông báo như sau xuất hiện
[root@localhost php-5.1.4]# apachectl start
Syntax error on line 221 of /www/conf/httpd.conf:
Cannot load /www/libexec/libphp5.so into server: /www/libexec/libphp5.so: cannot restore segment prot after reloc: Permission denied
/usr/sbin/apachectl start: httpd could not be started 

Bạn nghĩ Permission Denied thì mình CHMOD cho nó ? Đừng có lộn

Chạy dòng này để cho nó load libphp5.so
[root@localhost apache_1.3.37]# chcon /www/libexec/libphp5.so -t shlib_t
[root@localhost apache_1.3.37]# apachectl start
/usr/sbin/apachectl start: httpd started 


OK xong rồi đó bà con, chúc bà con thành công .

Tiếng vợ tôi ở bên tai : Ngày mai ông mà đi công tác, không có nhìn con nhỏ nào à nghen, ông mà lén xén với con nhỏ nào thì về đây biết tay tui .
Ý mèn đét ơi yêu nhau mấy năm nay chuẩn bị lên xe bông mà còn như thế .
Thôi thì chiều nàng vậy, tôi xếp máy lại và post bài viết này ở 2 diễn đàn mà tôi yêu thích nhất .
Hẹn gặp bà con trong dịp khác, cấu hình bảo mật Apache .
Golden Autumn
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to top Go to original post  

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|