在朋友的推薦下,讓我幫他一個兄弟去做台服務器!然後總結了點心得!寫下來當筆記用。
首先該哥們把我帶到了機房,裡面只有一個我不熟悉的環境,系統是FC4,沒有用過,但是這次用過了,其實做過的就知道了,原理都是一樣的。因為該服務器還沒有正式運做起來,我就要求把該系統重做,因為他們把服務器全搞亂了,然後我最簡安裝了一下系統!所有個網絡服務有關的選項都沒有選擇!
接下來說說需要的工具!
apache,mysql,php,vsftp,openssh為了給那位朋友對服務器維護帶來方便,加了個webmin
下面詳細的說說:
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.11-1.1369_FC4smp #1 SMP Thu Jun 2 23:08:39 EDT 2005 i686 i686 i386 GNU/Linux
[root@localhost ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9 to server version: 4.1.18
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> \q
Bye
[root@localhost ~]#
這樣得到了mysql的版本和系統的信息。下面就下載mysql
先下載Mysql2.1.18的源代碼版,地址: http://dev.mysql.com/downloads/mysql/4.1.html
把它下到/usr/local/src目錄下,如果沒有該目錄,就自己建一個.下載回來的包名字叫 mysql-4.1.18.tar.gz,然後我們把它解壓出來:
# tar -zxvf mysql-4.1.18.tar.gz
解壓後生成mysql-4.1.18目錄,我們進入該目錄:
# cd mysql-4.1.18
進入後就開始配置mysql了,配置過程中我們要給mysql設置一個安裝目錄,我們設置在 /usr/local/mysql 下,以為把文件放到一個地方比較容易管理,如果你還想獲得更多的配置信息,使用 ./configure --help:
# ./configure --prefix=/usr/local/mysql
然後等幾秒鐘,配置完成後就編譯源代碼:
# make
這個編譯的過程比較長,如果機器比較慢的話,可能要近二十分種 ( PS:我的機器是很普通的機器,所有用了差不多15,6分種 .
編譯完成後就安裝:
# make install
# ./scripts/mysql_install_db --user=mysql #初試化表並且規定用mysql用戶來訪問
# cd /usr/local/mysql
# chown -R root .
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
如果沒有問題的話,應該會出現類似這樣的提示:
[1] 42264
# Starting mysqld daemon with databases from /usr/local/mysql/var
這就證明安裝成功了
為了每次系統重啟後都能運行mysql,可以寫一個腳本放到 /usr/local/etc/rc.d目錄下,用來運行mysql,我們寫一個腳本mysql_start.sh
#! /bin/sh
/usr/local/mysql/bin/mysqld_safe&
然後保存到/usr/local/etc/rc.d目錄下,那麼以後reboot系統後都能啟動mysql了.
安裝Apache要簡單點,我這裡安裝的Apache版本是 httpd-2.0.55,去下載壓縮包: http://httpd.apache.org/download.cgi.
下載回來的包叫做 httpd-2.0.55.tar.gz 我們放在 /usr/local/src目錄下.
首先進入目錄後解壓縮:
# cd /usr/local/src
# tar -zxvf httpd-2.0.55.tar.gz
然後就會得到 httpd-2.0.55目錄,我們進入目錄
# cd httpd-2.0.55
首先配置:
# ./configure --prefix=/usr/local/apache --enable-shared=max --enable-module=rewrite --enable-module=so
執行上面的命令,如果沒有錯誤信息,證明配置成功,然後進行編譯:
#make
#make install
# /usr/local/apache/bin/httpd -k start #啟動apache
# /usr/local/apache/bin/httpd -k stop #停止apache
# /usr/local/apache/bin/httpd -k restart #重啟apache
然後可以安裝php了:
[root@localhost ~]# php -v
PHP 4.4.2 (cli) (built: Mar 28 2006 08:06:26)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
[root@localhost ~]#
我使用的是php 4.4.2
先去下載: http://www.php.net/downloads.php
# ./configure --with-apxs2=/usr/local/apache/bin/apxs --disable-debug --enable-safe-mode --enable-trans-sid --with-xml --with-mysql --enable-short-tags --with-gd --with-zlib --with-jpeg --with-png --enable-memory-limit --disable-posix --with-config-file-path=/usr/local/lib
開始提示沒有libpng來著,後來去pbone下了一個安裝上了!就沒有錯誤提示了!
然後出現了:
+--------------------------------------------------------------------+
| *** WARNING *** |
| |
| You chose to compile PHP with the built-in MySQL support. If you |
| are compiling a server module, and intend to use other server |
| modules that also use MySQL (e.g, mod_auth_mysql, PHP 3.0, |
| mod_perl) you must NOT rely on PHP's built-in MySQL support, and |
| instead build it with your local MySQL support files, by adding |
| --with-mysql=/path/to/mysql to your configure line. |
+--------------------------------------------------------------------+
| License: |
| This software is subject to the PHP License, available in this |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement. |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point. |
+--------------------------------------------------------------------+
| *** NOTE *** |
| The default for register_globals is now OFF! |
| |
| If your application relies on register_globals being ON, you |
| should explicitly set it to on in your php.ini file. |
| Note that you are strongly encouraged to read |
| http://www.php.net/manual/en/security.globals.php |
| about the implications of having register_globals set to on, and |
| avoid using it if possible. |
+--------------------------------------------------------------------+
Thank you for using PHP.
這個就證明可以make了。
#make
#make install
然後把php.ini-dist復制到/usr/local/lib/,並重命名為php.ini
至於安全設置,這裡就不多說了,xfocus裡有很多相關的資料的!
為了讓Apache能夠直接解析php,我們還要進行一些配置.
首先進入apache的配置文件目錄:
# cd /usr/local/apache/conf
然後用vi打開配置文件httpd.conf:
# vi httpd.conf
在httpd.conf文件中,添加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
應該將以上兩句添加在其他AddType之後。
確保文件中有以下一句話,沒有就自己添加在所有LoadModule之後。
LoadModule php4_module modules/libphp4.so
好了,在vi中使用":wq"保存httpd.conf文件,退出vi。啟動apache server:
# /usr/local/apache/bin/httpd start
現在apache就能夠運行php了,寫個文件測試一下,在/usr/local/apache/htdocs目錄下,新建一個phpinfo.php文件,
文件中只有一行代碼:
<? phpinfo(); ?>
浏覽http://ip/phpinfo.php
然後就可以看到我們的測試頁了
默認的首頁在/usr/local/apache/htdocs下
這個也可以自己改的。
下面說說建虛擬主機的步驟:
在/usr/local/apache/conf/httpd.conf文件的最後一行加入
Include ./vhost-conf.d/*.conf
保存退出
在/usr/local/apache下
#mkdir vhost-conf.d
#cd vhost-conf.d
vi ip-vhost.conf
Listen 8888
Listen 6666
Listen 9999
<VirtualHost IP*8888>
ServerAdmin webmaster@localhost
DocumentRoot /home/tom/public_html/
ServerName localhost
ErrorLog logs/localhost-error_log
CustomLog logs/localhost-access_log combined
DirectoryIndex index.html.zh-cn.gb2312 index.htm index.html index.php index.cgi index.pl
DefaultLanguage zh-CN
AddDefaultCharset GB2312
<Directory "/usr/local/apache/htdocs/">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
<Directory "/usr/local/apache/cgi-bin/">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
虛擬服務器這樣就建好了
然後就架ftp:
pbone裡找到了vsftpd,然後
#rpm -ivh vsftpd
#cd /etc/vsftpd
#install -m 644 vsftpd.conf /etc/vsftpd-ano.conf
為了測試方便,我們先建立一個名為kill-ano的腳本,是為了殺掉FTP程序的
#!/bin/bash
a=`/bin/ps -A | grep vsftpd-ano | awk '{print $1}'`
kill -9 $a
# vi /etc/vsftpd-loc.conf ,將如下三行加入文件
listen=YES
listen_port=21
tcp_wrappers=YES //支持tcp_wrappers,限制訪問(/etc/hosts.allow,/etc/hosts.deny)
listen=YES的意思是使用standalone啟動vsftpd,而不是super daemon(xinetd)控制它 (vsftpd推薦使用standalone方式),注意事項請參看匿名用戶的配置。
anonymous_enable=NO
local_enable=YES //這兩項配置說不允許匿名用戶登陸,允許本地用戶登陸
# /usr/local/sbin/vsftpd-loc /etc/vsftpd-loc.conf & //以後台方式啟動vsftpd
# useradd 1jjk
# passwd 1jjk
這樣,就都建好了,至於安全相關,經常登陸一些安全性的網站就可以找到了!
其中openssh和webmin用rpm安裝就可以了!可以在www.pbone.net裡找到!
摘自:chinaunix.net