本文擷取自Linux 伺服器建置流程(Fedora 10) 修改by kermit548 2009.02.28
Apache HTTP Server 官方網站:http://httpd.apache.org/
yum -y install httpd mod_ssl
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
vi /etc/httpd/conf/httpd.conf
250行 ServerAdmin root@localhost
354行 UserDir disable 修改成--> #UserDir disable
361行 #UserDir public_html 修改成--> UserDir www
#將個人網頁資料夾改成由 public_html 改成 www,方便輸入
390行 DirectoryIndex index.html index.html.var 修改成--> DirectoryIndex index.html index.htm index.php index.html.var
730行 LanguagePriority zh-TW en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN
746行 AddDefaultCharset UTF-8 修改成--> #AddDefaultCharset UTF-8
/etc/rc.d/init.d/httpd start
chkconfig httpd on
注意:web server 架設好之後,個人網頁的功能也啟動了,只要輸入「http://IP/~xxx」即可瀏覽,不過請確定 SELinux 的功能是關閉的,否則將無法正常瀏覽個人網頁。
Apache HTTP Server 官方文件:http://httpd.apache.org/docs-project/
w3m 官方網站:http://w3m.sourceforge.net/index.en.html
yum -y install w3m
w3m localhost
回上一頁:Shift+b
註:
mkdir /var/www/html/test1
vi /etc/httpd/conf/httpd.conf
在檔案最後面新增下面區段
<Directory /var/www/html/test1>
Deny from all
Allow from 192.168.1.0/255.255.255.0
Options Indexes FollowSymLinks
</Directory>
/etc/rc.d/init.d/httpd restart
測試:w3m http://IP/test1/
vi /etc/httpd/conf/httpd.conf
326行 AllowOverride None 修改成--> AllowOverride All
/etc/rc.d/init.d/httpd restart
mkdir /var/www/html/test2
cd /var/www/html/test2
htpasswd -c .htpasswd sysadm
vi .htaccess
AuthUserFile /var/www/html/test2/.htpasswd
AuthName "Top Secret"
AuthType Basic
require valid-user
測試:w3m http://IP/test2/
修改密碼:htpasswd -m .htpasswd sysadm
新增使用者:htpasswd .htpasswd user2
PHP官方網站:http://www.php.net/
MySQL 官方網站:http://www.mysql.com/
yum -y install php mysql mysql-server php-mysql php-gd php-mbstring
cp /etc/php.ini /etc/php.ini.bak
vi /etc/php.ini
302行 max_execution_time = 300
303行 max_input_time = 600
304行 memory_limit = 80M
467行 post_max_size = 80M
572行 upload_max_filesize = 20M
#上面設定值,請視自己需求修改
vi /etc/httpd/conf.d/php.conf
18行 DirectoryIndex index.php 修改成--> #DirectoryIndex index.php
/etc/rc.d/init.d/httpd restart
vi /var/www/html/phpinfo.php
<?
phpinfo();
?>
測試:w3m http://IP/phpinfo.php
啟動 MySQL
/etc/rc.d/init.d/mysqld start
chkconfig mysqld on
註:在這裡我們先不設定 MySQL 的 root 密碼,等裝了下面的 phpMyAdmin 之後,再使用 phpMyAdmin 修改
MySQL的 root 密碼忘了怎麼辦?
/etc/rc.d/init.d/mysqld stop
/usr/bin/mysqld_safe --skip-grant-tables & mysql -u root -p mysql
update user set password=password("新密碼") where user="root" and host="localhost";
flush privileges;
quit
/etc/rc.d/init.d/mysqld stop
/etc/rc.d/init.d/mysqld start
如何重新安裝 MySQL?
/etc/rc.d/init.d/mysqld stop
yum -y remove mysql
rm -rf /var/lib/mysql
yum -y install php mysql mysql-server php-mysql php-gd
/etc/rc.d/init.d/mysqld start
設定密碼:mysqladmin -u root password '密碼'
PHP 官方文件:http://www.php.net/docs.php
MySQL 官方文件:http://dev.mysql.com/doc/
vsftpd 官方網站:http://vsftpd.beasts.org/
yum -y install vsftpd
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
vi /etc/vsftpd/vsftpd.conf
12行 anonymous_enable=YES 修改成--> anonymous_enable=NO
51行 #xferlog_file=/var/log/vsftpd.log 修改成--> xferlog_file=/var/log/xferlog
94行 #chroot_list_enable=YES 修改成--> chroot_list_enable=YES
96行 #chroot_list_file=/etc/vsftpd/chroot_list 修改成--> chroot_list_file=/etc/vsftpd/chroot_list
#在檔案最後面加入下面這一行
chroot_local_user=YES
echo 'sysadm' >> /etc/vsftpd/chroot_list
/etc/rc.d/init.d/vsftpd start
chkconfig vsftpd on
touch /home/sysadm/ftptest.txt
測試:lftp -u sysadm IP(或 lftp sysadm@IP)
限制每個 IP 最大連線數量:max_per_ip=5
限制傳輸速率:local_max_rate=30000(30000 表 30KB)
lftp 介紹:get、mget、put、mput、mirror、exit bg、!<shell-command>
vsftpd 官方文件:http://vsftpd.beasts.org/vsftpd_conf.html
Sendmail 官方網站:http://www.sendmail.org/
yum -y install sendmail sendmail-cf m4 cyrus-sasl
cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.bak
vi /etc/mail/sendmail.mc
48行 dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
49行 dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
#刪掉上面兩行前面的 dnl
#注意:TRUST_AUTH_METH、define 前面不要留有空格
112行 dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
#前面加上 dnl, 把這行註解起來(dnl = do not load)
#或改成下面這樣也可以
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.bak
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
vi /etc/mail/access
Connect:sqes.hcc.edu.tw RELAY
Connect:192.168.1 RELAY
#加入以上兩行(請依自己學校狀況修改)
makemap hash /etc/mail/access.db < /etc/mail/access
/etc/rc.d/init.d/saslauthd start
/etc/rc.d/init.d/sendmail start
chkconfig saslauthd on
chkconfig sendmail on
測試:telnet localhost 25(離開:quit)
把寄給 root 的信寄給 sysadm:
vi /etc/aliases
96行 #root: marc 修改成--> root: sysadm
#若想要 root 也留一份備份的話:root: sysadm,root
newaliases
SMTP 測試:telnet localhost 25(離開:quit)
mutt 介紹:yum -y install mutt && mutt
Sendmail 官方文件:http://www.sendmail.org/~ca/email/sm-X/
Dovecot 官方網站:http://www.dovecot.org/
yum -y install dovecot
cp /etc/dovecot.conf /etc/dovecot.conf.bak
vi /etc/dovecot.conf
17行 #protocols = imap imaps pop3 pop3s 修改成--> protocols = pop3
#只開啟 pop3 的功能,若要 imap 請自行加入,此設定值若不修改,預設是開啟 imap、pop3 的
43行 #ssl_disable = no 修改成--> ssl_disable = yes
#不啟動 ssl 加密功能
/etc/rc.d/init.d/dovecot start
chkconfig dovecot on
POP3 測試:telnet localhost 110(離開:quit)
nmap 介紹:yum -y install nmap ; nmap localhost
Dovecot 官方文件:http://wiki.dovecot.org/
Webalizer 官方網站:http://www.mrunix.net/webalizer/
yum -y install webalizer
cp /etc/httpd/conf.d/webalizer.conf /etc/httpd/conf.d/webalizer.conf.bak
vi /etc/httpd/conf.d/webalizer.conf
Alias /usage /var/www/usage
<Location /usage>
Order deny,allow
Deny from all
Allow from 127.0.0.1 修改成--> Allow from 192.168.1.0/255.255.255.0
Allow from ::1
# Allow from .example.com
</Location>
/usr/bin/webalizer
/etc/rc.d/init.d/httpd restart
測試:w3m http://IP/usage/
more /etc/cron.daily/00webalizer
httpd log位置:/var/log/httpd/
Webalizer 官方文件:ftp://ftp.mrunix.net/pub/webalizer/README
Open Webmail 官方網站:http://openwebmail.org/
注意:要架設 Open Webmail 前,請務必先將 sendmail、dovecot 架設好
安裝
cd
yum -y install perl-suidperl perl-Compress-Zlib perl-Text-Iconv
wget http://openwebmail.org/openwebmail/download/redhat/rpm/release/2.53/openwebmail-2.53-1.i386.rpm
wget http://openwebmail.org/openwebmail/download/redhat/rpm/release/2.53/openwebmail-data-2.53-1.i386.rpm
rpm -ivh openwebmail-2.53-1.i386.rpm openwebmail-data-2.53-1.i386.rpm
rm -rf openwebmail-2.53-1.i386.rpm openwebmail-data-2.53-1.i386.rpm
修改 openwebmail.conf
cp /var/www/cgi-bin/openwebmail/etc/openwebmail.conf /var/www/cgi-bin/openwebmail/etc/openwebmail.conf.bak
vi /var/www/cgi-bin/openwebmail/etc/openwebmail.conf
55行 enable_pop3 yes 修改成--> enable_pop3 no
62行 default_language en 修改成--> default_language zh_TW.Big5
85行 default_iconset Cool3D.English 修改成--> default_iconset Cool3D.Chinese.Traditional
76行 <default_signature>
77行 --
78行 Open WebMail Project (http://openwebmail.org)
79行 </default_signature>
#此此四行是使用者寄信的預設簽名檔,請自行修改紅字部分
202行 webdisk_rootpath /webdisk 修改成--> webdisk_rootpath /
修改 dbm.conf
cp /var/www/cgi-bin/openwebmail/etc/defaults/dbm.conf /var/www/cgi-bin/openwebmail/etc/defaults/dbm.conf.bak
vi /var/www/cgi-bin/openwebmail/etc/defaults/dbm.conf
dbm_ext .db
dbmopen_ext .db
dbmopen_haslock no
使用 Open WebMail 變更密碼的時候,順便修改 samba 密碼
cp /var/www/cgi-bin/openwebmail/etc/auth_unix.conf /var/www/cgi-bin/openwebmail/etc/auth_unix.conf.bak
vi /var/www/cgi-bin/openwebmail/etc/auth_unix.conf
13行 change_smbpasswd no 修改成--> change_smbpasswd yes
初始化
/var/www/cgi-bin/openwebmail/openwebmail-tool.pl --init
測試:https://IP/cgi-bin/openwebmail/openwebmail.pl
縮短 Open WebMail 連結網址:
vi /etc/httpd/conf/httpd.conf
ScriptAlias /mail "/var/www/cgi-bin/openwebmail/openwebmail.pl"
#在設定檔最後面加上這一行
/etc/rc.d/init.d/httpd restart
測試:https://IP/mail/
註:
phpMyAdmin 官方網站:http://www.phpmyadmin.net/
cd
wget http://osdn.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-3.1.3-all-languages.tar.gz
tar zxvf phpMyAdmin-3.1.3-all-languages.tar.gz
rm -rf phpMyAdmin-3.1.3-all-languages.tar.gz
mv phpMyAdmin-3.1.3-all-languages /var/www/html/phpMyAdmin
cp /var/www/html/phpMyAdmin/libraries/config.default.php /var/www/html/phpMyAdmin/config.inc.php
vi /var/www/html/phpMyAdmin/config.inc.php
31 行 $cfg['PmaAbsoluteUri'] = ''; 修改成--> $cfg['PmaAbsoluteUri'] = 'http://IP/phpMyAdmin/';
71 行 $cfg['Servers'][$i]['auth_type'] = 'cookie'; 修改成--> $cfg['Servers'][$i]['auth_type'] = 'http';
測試:https://IP/phpMyAdmin/,帳號 root,密碼空白
點選「權限」,然後點選「root localhost」這行後面的「編輯權限」圖示,更改密碼
phpMyAdmin 2.8.2 Documentation:http://IP/phpMyAdmin/Documentation.html
phpMyAdmin 官方文件:http://www.phpmyadmin.net/home_page/docs.php
phpSysInfo 官方網站:http://phpsysinfo.sourceforge.net/
cd
wget http://nchc.dl.sourceforge.net/sourceforge/phpsysinfo/phpSysInfo-3.0-RC6.tar.gz
tar zxvf phpsysinfo-3.0-RC6.tar.gz -C /var/www/html/
rm -rf phpsysinfo-3.0-RC6.tar.gz
cp /var/www/html/phpsysinfo/config.php.new /var/www/html/phpsysinfo/config.php
vi /var/www/html/phpsysinfo/config.php
36行 $default_lng='en'; 修改成--> $default_lng='tw';
37行 $default_template='classic';
測試:http://IP/phpsysinfo/
XOOPS 官方網站:http://www.xoops.org/
cd
wget http://tad.tnc.edu.tw/uploads/tad_uploader/289_xoops-2.3.2-cht-20081128.zip
wget http://nchc.dl.sourceforge.net/sourceforge/xoops/xoops-2.3.2a-to-2.3.2b.zip
unzip -d /root/ 289_xoops-2.3.2-cht-20081128.zip
unzip -o -d /root/xoops-2.3.2-tw/ xoops-2.3.2a-to-2.3.2b.zip
rm -rf 289_xoops-2.3.2-cht-20081128.zip xoops-2.3.2a-to-2.3.2b.zip
mv xoops-2.3.2-tw/htdocs /var/www/html/xoops
cd /var/www/html/xoops
chmod 666 mainfile.php
chmod 777 -R uploads cache templates_c xoops_data/caches
安裝:http://IP/xoops/install/index.php
資料庫使用者帳號:root
資料庫密碼:MySQL root 密碼
資料庫名稱:xoops
安裝完之後,執行下列指令:
rm -rf install
chmod 444 mainfile.php
chmod 777 uploads
測試:http://IP/xoops/html/
安裝基本模組包:
cd
wget http://xoops.tnc.edu.tw/uploads/module2/BasicModules-0.2b-utf8.tgz
tar zxvf BasicModules-0.2b-utf8.tgz -C /var/www/html/xoops/modules/
rm -rf BasicModules-0.2b-utf8.tgz
安裝:管理員選單 / 模組管理區 / 安裝想要的模組
註:基本模組包內有三個模組:新聞區、WF-DOWNLOADS、CBB討論區
cd
wget http://xoops.tnc.edu.tw/uploads/protector_255_tw.zip
unzip -d /var/www/html/xoops/modules/ protector_255_tw.zip
cd
rm -rf protector_255_tw.zip
= 使用方式 =
預設語言檔案為BIG5繁體中文,使用UTF-8者請事先將utf8_tw目錄內所有檔案複製到tchinese目錄內覆蓋。
新使用者請依照一般模組的安裝方式來安裝即可。(安裝完必須做下述mainfile.php編輯)
當您安裝完此模組後,編輯您的 mainfile.php 接近尾部的內容如下:
define('XOOPS_GROUP_ADMIN', '1');
define('XOOPS_GROUP_USERS', '2');
define('XOOPS_GROUP_ANONYMOUS', '3');
include( XOOPS_ROOT_PATH . '/modules/protector/include/precheck.inc.php' ) ;
if (!isset($xoopsOption['nocommon'])&& XOOPS_ROOT_PATH != ' ) {
include XOOPS_ROOT_PATH."/include/common.php";
}
include( XOOPS_ROOT_PATH . '/modules/protector/include/postcheck.inc.php' ) ;
也就是在『 if (!isset($xoopsOption['nocommon'])) {』 的前後各插入一段防護偵測,如此可做到雙重防護。
請特別注意,上下兩行加入的紅字是不同的,最近時常看見有網友發問自己為何總是安裝失敗,大多數原因皆是不仔細詳看這段內容導致!
至於『&& XOOPS_ROOT_PATH !=』部份,因版本之不同而異,若是和您的設定不同不用介意。
假如您需要『擋IP』(IP Ban) 的功能,開啟系統管理介面的『系統 -> 偏好設定 -> 一般設定 ->啟用擋 IP 功能』。
當您啟動『擋IP』的時候,您必須檢查是否您自己的 IP 有包含在『輸入要擋掉的 IP 網址』中。
請務必設置救援密碼,以免管理者IP被不知名原因記錄到禁止IP列而無法進入網站。
XOOPS正體中文延伸計畫:http://xoops.tnc.edu.tw
phpBB 官方網站:http://www.phpbb.com/
先用 phpMyAdmin 新增 phpbb 資料庫
cd
wget http://d10xg45o6p6dbl.cloudfront.net/projects/p/phpbb/phpBB-3.0.4.tar.bz2
wget http://www.phpbb.com/files/language_packs_30x/lang_zh_cmn_hant.tar.gz
wget http://www.phpbb.com/files/language_packs_30x/subsilver2_zh_cmn_hant.tar.gz
wget http://www.phpbb.com/files/language_packs_30x/prosilver_zh_cmn_hant.tar.gz
tar jxvf phpBB-3.0.4.tar.bz2
mv phpBB3 /var/www/html/phpbb
tar zxvf lang_zh_cmn_hant.tar.gz -C /var/www/html/phpbb/language/
tar zxvf subsilver2_zh_cmn_hant.tar.gz -C /var/www/html/phpbb/styles/
tar zxvf prosilver_zh_cmn_hant.tar.gz -C /var/www/html/phpbb/styles/
rm -rf phpBB-3.0.4.tar.bz2 lang_zh_cmn_hant.tar.gz subsilver2_zh_cmn_hant.tar.gz prosilver_zh_cmn_hant.tar.gz
chmod 777 /var/www/html/phpbb/config.php
安裝:http://IP/phpbb/install/index.php
資料庫格式: MySQL 4.x/5.x
您的資料庫名稱:phpbb
您的資料庫名稱:root
您的資料庫名稱:MySQL root 密碼
chmod 644 /var/www/html/phpbb/config.php
rm -rf /var/www/html/phpbb/install/
rm -rf /var/www/html/phpbb/contrib/
竹貓星球:http://phpbb-tw.net/phpbb/index.php
官方安裝文件:http://IP/phpbb/docs/INSTALL.htm
Webmin 官方網站:http://www.webmin.com
cd
wget http://nchc.dl.sourceforge.net/sourceforge/webadmin/webmin-1.460-1.noarch.rpm
rpm -ivh webmin-1.460-1.noarch.rpm
rm -rf webmin-1.460-1.noarch.rpm
測試:http://IP:10000
中文化設定:Webmin Configuration / Language / Traditional Chinese(ZH_TW.BIG5)
啟動 Webmin 的 SSL 支援:
yum -y install perl-Net-SSLeay
Webmin / Webmin 組態 / SSL加密 / 如果可用 SSL 的話啟用
Webmin 官方文件:http://www.webmin.com/index2.html
若是安裝完之後發現網頁檔案(html)確定存在系統中,但是沒辦法用瀏覽器從外面看到,都會變成404Not Found錯誤,只能在虛擬系統中自己開,但是圖片卻可以正常瀏覽
修改指令如下:
vi /etc/httpd/modsecurity.d/modsecurity_crs_50_outbound.conf
將第18行及第19行備註掉,並重新啟動 httpd
/etc/rc.d/init.d/httpd restart
登入 Webmin:伺服器 / Samba視窗檔案分享 / 組態 Unix 和 Samba 使用者自動同步:勾選裡面的五個選項
注意:上面這點非常重要
建立個人網頁資料夾、範本檔
mkdir /etc/skel/www
vi /etc/skel/www/index.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>under construction.....</title>
</head>
<body>
<br><br>
<h1 align="center">網頁建置中</h1>
</body>
</html>
注意:這裡的 www,必須和 httpd.conf 內的 UserDir 設定一樣
建立群組:
使用 webmin 建立 群組名稱:系統 / 使用者與群組(以下以 s94 群組為例)
批次檔格式:
create:使用者名稱:密碼:uid:gid:真實姓名:家目錄:shell:最小:最大:警告:非使用:過期
批次匯入檔必填的資料:
使用批次檔建立大批使用者:
登入 Webmin:系統 / 使用者與群組 / 使用批次檔一次過建立/修改/刪除使用者