2010年11月3日 星期三

學生用伺服器建置流程(CentOS 5 版)

http://imniha.googlecode.com/files/c.htm

推薦瀏覽軟體:Mozilla Firefox + Auto Copy 擴充套件
此文件內會用到的網路資料(請依自己環境設定,切勿照抄):

IP:192.168.1.1
FQDN:test.sqes.hcc.edu.tw
Domain:sqes.hcc.edu.tw
DNS server:163.19.1.1(for 新竹縣學校)
子網路遮罩(netmask):255.255.255.0
閘道器(gateway):192.168.1.254

目錄C

  1. CentOS 5 ISO 檔下載
  2. 作業系統網路安裝
  3. PieTTY、PuTTY(Microsoft Windows 下好用的 ssh 連線工具)
  4. vi 基本指令介紹
  5. SSH 基本設定
  6. 修改 IP 、FQDN(有需要才修改)
  7. tcp_wrappers 基本設定
  8. 關閉 SElinux
  9. 關閉、啟動基本服務
  10. 更新套件(使用yum)
  11. yum 基本指令介紹
  12. rpm 基本指令介紹
  13. WEB server
    1. w3m - 文字型網頁瀏覽器
    2. 限制網頁連線範圍
    3. 使用帳號密碼認證保護資料夾
    4. Webalizer - 網頁記錄檔分析
  14. FTP server
    1. 如何上傳網頁到 /var/www/html
    2. FileZilla
  15. MAIL server
    1. SMTP server - sendmail
    2. POP server - dovecot
    3. Open Webmail 安裝流程
  16. PROXY server
  17. DHCP server
  18. SAMBA server
  19. PHP & MySQL
    1. phpMyAdmin
    2. phpSysInfo
    3. 學校整合模組
    4. 動態網頁模組
    5. 圖書管理系統
    6. Moodle - 課程管理系統
    7. XOOPS - 網頁內容管理系統
    8. phpBB - 論壇
    9. LifeType - Blog 網誌
  20. cron - 自動化工具
  21. Webmin - web 介面作業系統管理軟體
  22. 大批帳號開設(使用 Webmin)
  23. quota 設定 - 磁碟配額
  24. ChangePassword - web介面密碼修改軟體
  25. 附錄
    1. Awstats - 記錄檔分析
      1. Awstats for apache
      2. Awstats for vsftp
      3. Awstats for sendmail 
    2. MRTG - 網路流量監控
    3. ntop- 網路流量監控
    4. 簡易防火牆設定

CentOS 5 ISO 檔下載

CentOS 官方網站:http://centos.org/

作業系統網路安裝

開機的時候,輸入「linux askmethod」,安裝方式 選擇「FTP
安裝方式為 FTP 時的設定:
FTP 站台名稱:140.138.144.170(或 ftp.cse.yzu.edu.tw)
CentOS 5 所在目錄:pub/CentOS/5.0/os/i386

FTP 站台名稱:140.128.9.18(或 ftp.cs.pu.edu.tw)
CentOS 5 所在目錄:Linux/CentOS/5/os/i386
安裝過程注意事項:
  • 磁碟分割的地方勾選「檢視並修改分割區」,
  • 分割一個獨立分割區給 home
  • 取消勾選「Desktop - Gnome」,勾選「立即自訂
  • 在套件選擇的地方,取消勾選所有的套件,只選擇「基礎系統」內的「基礎
  • 安裝過程抓圖
註:
  1. 這裡是以 元智大學 和 靜宜大學 的 mirror 站為範例,路徑一定要對,否則就會出現錯誤訊息
  2. 若別的站台速度較佳的話,當然也可以設別的站

PieTTY、PtTTY:Microsoft Windows 下好用的 ssh 連線工具

PieTTY 官方網站:http://ntu.csie.org/~piaip/pietty/
下載:http://ntu.csie.org/~piaip/pietty/stable/pietty0327.exe設定:
  1. 選項 / 字元編碼 / Unicode(圖一
  2. 選項 / 亞洲語系修正 / 取消勾選「Unicode 亞洲寬符號字元」(圖二
下載:http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe設定:圖一圖二

vi 基本指令介紹

vi (or vim)是 Unix-like 作業系統下最通用、強悍的文字編輯器,儘管入門困難,建議一定要花時間將其基本操作學會
輸入:a、i、o
到第一行:gg
到最後一行:G
到某一行:xxG
到行首:0
到行末:$
複製:yy
貼上:p
復原:u
刪一個字:x
刪整行:dd
顯示行數::set nu
不顯示行數::set nonu
vi 的搜尋:/、再次搜尋:n
到 shell::sh(在 shell 中回到 vi:exit)
儲存::w
離開::q
儲存兼離開::wq 或 shift+zz
強制離開(不儲存)::q!
Vim 官方文件:http://www.vim.org/docs.php

SSH 基本設定

新增管理者帳號:
useradd sysadm
passwd sysadm
注意:這裡是以 sysadm 為例,當然您可以取自己喜歡的名稱,不過文件後續所用到的所有 sysadm 字眼,記得要換成您自取的帳號
只允許管理者使用 ssh 登入:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
vi /etc/ssh/sshd_config
AllowUsers sysadm
#在檔案最後面加上這一行,這樣就只有 sysadm 可以使用 ssh 連線了
#若要設定多人,就用空格隔開:AllowUsers sysadmsysadm2
注意:上面這個設定很重要(再強調一遍,很重要),建議一定要做
重新讀取 ssh 設定檔:
/etc/rc.d/init.d/sshd restart
用 sysadm 帳號登入後,再用 su - 指令變成 root
OpenSSH 官方文件:http://www.openssh.com/manual.html

修改 IP 、FQDN(安裝過程中設定正確的話,是不用作任何修改的,有需要才修改)

查看 IP:ifconfig
修改 IP:system-config-network-tui(或修改此檔:/etc/sysconfig/network-scripts/ifcfg-eth0)
FQDN 設定:
hostname
more /etc/hosts
more /etc/sysconfig/network
DNS 設定:
vi /etc/resolv.conf
nameserver 163.19.1.1nameserver 168.95.1.1
# for 新竹縣學校
重新啟動網卡:
/etc/rc.d/init.d/network restart
ping 介紹:ping -c 5 www.nc.hcc.edu.tw
traceroute 介紹:traceroute www.nc.hcc.edu.tw

tcp_wrappers 基本設定

vi /etc/hosts.deny
ALL:ALL
vi /etc/hosts.allow
ALL:192.168.1.0/255.255.255.0:allow
sshd:192.168.1.0/255.255.255.0:allow
vsftpd:ALL:allow
sendmail:ALL:allow
注意:這裡的連線範圍請依自己的需求設定

關閉 SELinux

vi /etc/sysconfig/selinux
SELINUX=enforcing 改成--> SELINUX=disabled

關閉、啟動基本服務

執行 ntsysv 指令,只留下以下服務:
acpid
anacron
cpuspeed
crond
network
sshd
syslog
yum-updatesd
runlevel 介紹:
more /etc/inittab
ll /etc/rc.d/
more /etc/rc.d/rc.local
chkconfig 介紹:
chkconfig --list
chkconfig --level 345 xxx on
chkconfig xxx on
chkconfig --list xxx
man 介紹
netstat 介紹:netstat -tl

更新套件(使用 yum)

YUM - Yellowdog Updater Modified
YUM 官方網站:http://linux.duke.edu/projects/yum/
修改設定檔:
cd /etc/yum.repos.d/
cp CentOS-Base.repo CentOS-Base.repo.bak
vi CentOS-Base.repo
:%s/mirror.centos.org\/centos/ftp.cse.yzu.edu.tw\/pub\/CentOS

:%s/mirror.centos.org\/centos/ftp.cs.pu.edu.tw\/Linux\/CentOS

mirror.centos.org/centos
換成
ftp.cse.yzu.edu.tw/pub/CentOS

ftp.cs.pu.edu.tw/Linux/CentOS
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://ftp.cse.yzu.edu.tw/pub/CentOS/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://ftp.cse.yzu.edu.tw/pub/CentOS/RPM-GPG-KEY-CentOS-5

#released updates
[update]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://ftp.cse.yzu.edu.tw/pub/CentOS/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://ftp.cse.yzu.edu.tw/pub/CentOS/RPM-GPG-KEY-CentOS-5

#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons
baseurl=http://ftp.cse.yzu.edu.tw/pub/CentOS/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=http://ftp.cse.yzu.edu.tw/pub/CentOS/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://ftp.cse.yzu.edu.tw/pub/CentOS/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://ftp.cse.yzu.edu.tw/pub/CentOS/RPM-GPG-KEY-CentOS-5
更新:yum -y update
安裝 vim-enhanced 加強 vi 的功能:
yum -y install vim-enhanced
mv /bin/vi /bin/vi.bak
ln -s /usr/bin/vim /bin/vi
echo "set nu" >> /etc/vimrc
#在檔案最後面新增 set nu,顯示行數
重新開機:reboot

yum 指令介紹

  • 更新:yum update
  • 安裝:yum install xxx
  • 移除:yum remove xxx
  • 清除已經安裝過的檔案(/var/cache/yum/):yum clean all
  • 搜尋:yum search xxx
  • 列出所有檔案:yum list
  • 查詢檔案訊息:yum info xxx
群組安裝功能:
yum grouplist
yum groupinstall "Web Server"
一些檔案:
rpm -qc yum
more /var/log/yum.log

RPM 基本指令介紹

  • 安裝:rpm -ivh xxx
  • 移除:rpm -e xxx
  • 升級:rpm -Uvh xxx
  • 查詢:
    rpm -qa | grep xxxrpm -qi xxxrpm -ql xxxrpm -qc xxxrpm -qf /etc/yum.conf
    rpm -qpi xxx

WEB server

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 介紹

yum -y install w3m
w3m IP
註:
  1. w3m MANUAL:http://www.w3m.org/manual.html
  2. 在本機前文字模式下啟動滑鼠「gpm」
  3. lynx 是另外一套好用的文字型網頁瀏覽器,有興趣的人可以試看看

限制網頁連線範圍

mkdir /var/www/html/test1
vi /etc/httpd/conf/httpd.conf
在檔案最後面新增下面區段
test1>
Deny from all
Allow from 192.168.1.0/255.255.255.0
Options Indexes FollowSymLinks
/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
ls -al
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

網頁記錄檔分析 - Webalizer

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


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
/usr/bin/webalizer
/etc/rc.d/init.d/httpd restart
測試:w3m http://IP/usage/
more /etc/cron.daily/00webalizer
httpd log位置:ll /var/log/httpd/
Webalizer 官方文件:ftp://ftp.mrunix.net/pub/webalizer/README

FTP server

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、!
vsftpd 官方文件:http://vsftpd.beasts.org/vsftpd_conf.html

如何上傳網頁到 /var/www/html

底下使用 link 的方式將 /var/www/html 資料夾連結到 /home/sysadm/web,這樣我們就可以用 sysadm 帳號上傳網頁了
chmod 755 /home/sysadm
mkdir /home/sysadm/web
chown sysadm.sysadm /home/sysadm/web
cp -rpf /var/www/html/* /home/sysadm/web/
mv /var/www/html /var/www/html.bak
ln -s /home/sysadm/web /var/www/html
如何 mount ISO 檔:
mkdir /media/iso
mount -o loop xxx.iso /media/iso
察看檔案系統磁碟空間使用狀況:df -h
chown 介紹

FileZilla(Microsoft Windows 下好用的 ftp 自由軟體)

FileZilla 官方網站:http://filezilla.sourceforge.net/
注意:FileZilla 的傳輸過程預設是沒有加密的,有安全性的風險,您可以在「伺服器型態」的地方勾選「SFTP 使用 SSH2」,為傳輸過程加密(
scp、sftp 介紹
FileZilla 官方文件:http://filezilla.sourceforge.net/documentation/

SMTP server - Sendmail

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
52行 dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
53 行 dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
#刪掉上面兩行前面的 dnl
#注意:TRUST_AUTH_METH、define 前面不要留有空格

116行 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 < /etc/mail/access
/etc/rc.d/init.d/saslauthd start
/etc/rc.d/init.d/sendmail start
chkconfig saslauthd on
chkconfig sendmail on
SMTP 測試:telnet IP 25(離開:quit)
把寄給 root 的信寄給 sysadm
vi /etc/aliases
96行 #root: marc 修改成--> root: sysadm
#若想要 root 也留一份備份的話:root: sysadm,root
newaliases
mutt 介紹:yum -y install mutt && mutt
Sendmail 官方文件:http://www.sendmail.org/~ca/email/sm-X/

POP server

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 修改成--> protocols = pop3
#只開啟 pop3 的功能,若要 imap 請自行加入,此設定值若不修改,預設是開啟 imap、pop3 的
81行 #ssl_disable = no 修改成--> ssl_disable = yes
#不啟動 ssl 加密功能
/etc/rc.d/init.d/dovecot start
chkconfig dovecot on
POP3 測試:telnet IP 110(離開:quit)
nmap 介紹:yum -y install nmap && nmap localhost
Dovecot 官方文件:http://wiki.dovecot.org/

Open Webmail 安裝流程:

Open Webmail 官方網站:http://openwebmail.org/
注意:要架設 Open Webmail 前,請務必先將 sendmaildovecot 架設好
安裝
yum -y install perl-suidperl perl-Compress-Zlib
rpm -ivh http://apt.sw.be/redhat/el5/en/i386/dag/RPMS/perl-Text-Iconv-1.4-1.2.el5.rf.i386.rpm
wget http://openwebmail.org/openwebmail/download/redhat/rpm/release/openwebmail-2.52-1.i386.rpm
rpm -ivh openwebmail-2.52-1.i386.rpm
rm -rf openwebmail-2.52-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行
77行 --
78行 Open WebMail Project (http://openwebmail.org)
79行
#此此四行是使用者寄信的預設簽名檔,請自行修改紅字部分

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/
註:
  1. 參考資料:http://turtle.ee.ncku.edu.tw/~tung/openwebmail/
  2. How to install Open WebMail on Red Hat Enterprise Linux 3 By Thomas Chung
  3. 官方安裝說明檔:/var/www/data/openwebmail/doc/readme.txt
  4. cd /var/www/cgi-bin/openwebmail/etc/
    1. openwebmail.conf - 主要的設定檔,管理者要設定的選項,應該都寫在這個檔案裡頭
    2. openwebmail.conf.help - openwebmail.conf 所有選項的說明檔

PROXY server

Squid官方網站:http://www.squid-cache.org/
yum -y install squid
cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
vi /etc/squid/squid.conf
#修改 993 行,將 # 取消,100 改為 1000(請視使用人數和硬碟狀況加大 cache 資料夾容量,)
# cache_dir ufs /var/spool/squid 100 16 256 修改成--> cache_dir ufs /var/spool/squid 1000 16 256

#限制允許連線範圍,請依自己學校狀況修改
2522行 #acl our_networks src 192.168.1.0/24 192.168.2.0/24 修改成--> acl our_networks src 192.168.1.0/24
2523行 #http_access allow our_networks 修改成--> http_access allow our_networks
/etc/rc.d/init.d/squid restart
chkconfig squid on
測試:為 w3m 掛上 proxy
cp /etc/w3m/config /etc/w3m/config.bak
echo "http_proxy http://IP:3128" >> /etc/w3m/config
w3m IP
Squid log 位置:more /var/log/squid/access.log
Squid 官方文件:http://www.squid-cache.org/Doc/

DHCP server

DHCP 官方網站:http://www.isc.org/sw/dhcp/
yum -y install dhcp
vi /etc/dhcpd.conf
#修改如下,紅色部分請依自己學校狀況修改
ddns-update-style interim;
ignore client-updates;
default-lease-time 604800;
max-lease-time 1209600;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;
option domain-name "sqes.hcc.edu.tw";
option domain-name-servers 163.19.1.1;
range dynamic-bootp 192.168.1.100 192.168.1.200;
}
/etc/rc.d/init.d/dhcpd start
chkconfig dhcpd on
more /var/lib/dhcp/dhcpd.leases
man dhcpd.conf
man dhcpd.leases
設定檔範例:more /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample
DHCP 官方文件:http://www.isc.org/index.pl?/sw/dhcp/dhcpv3-README.php

Samba 伺服器

Samba 官方網站:http://samba.org/
yum -y install samba samba-client
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
vi /etc/samba/smb.conf
[global]
netbios name = STUDENT
#samba 主機在網路上的芳鄰內出現的名字,預設為伺服器的 hostname,大小寫不拘,不過,netbios name 和 workgroup 不要設成一樣的名字

workgroup = SERVER
#相當於 Windows 下的工作群組

hosts allow = 192.168.1.0/255.255.255.0
hosts deny = ALL

security = user
encrypt passwords = yes

deadtime = 20

admin users = sysadm

############### 底下為要分享的資料夾(網路磁碟機)#############
[homes]
comment = %U 的家目錄
browseable = no
writable = yes
force create mode = 0755

[homework]
comment = 作業繳交
path = /home/homework
valid users = sysadm,@s94
#valid users 表示誰可以進入這個資料夾,加 @ 表群組, @s94 表 s94 這個群組,當然系統內需要預先建有 s94 這個群組
write list = sysadm,@s94
force create mode = 0755

[share]
comment = 資源分享(這裡放有上課用的教材、軟體)
path = /home/share
valid users = sysadm,@s94
write list = sysadm
force create mode = 0755
設定檔檢查:testparm
建立 homework、share 資料夾和修改權限
mkdir /home/homework /home/share
chmod 777 /home/homework
chmod 755 /home/share
chown sysadm.sysadm /home/homework /home/share
新增 sysadm 帳號的 samba 密碼:
smbpasswd -a sysadm
more /etc/samba/smbpasswd
啟動 samba :
/etc/rc.d/init.d/smb start
chkconfig smb on
測試:
在 Windows XP 下開啟檔案總管:\\IP
for Windows XP 網路磁碟機批次檔:
在桌面編輯 登入學生主機.bat 批次檔
net use w: \\IP\homes
net use x: \\IP\share
net use y: \\IP\homework
net time \\IP /set /yes
直接將帳號密碼寫進批次檔的寫法
net use w: \\IP\homes /user:username password
net use x: \\IP\share
net use y: \\IP\homework
net time \\IP /set /yes
在 Linux 文字模式下的掛載方式:
mkdir /media/smb
smbclient -L IP
掛載:mount.cifs //IP/share /media/smb -o username=sysadm卸載:umount.cifs /media/smb

密碼直接打在指令內的寫法:
mount.cifs //IP/share /media/smb -o username=sysadm,password=password
光碟映像檔製作軟體(for Windows):
光碟映像檔掛載軟體(for Windows):
smbstatus - report on current Samba connections
chmod 介紹
The Official Samba-3 HOWTO and Reference Guide:http://us4.samba.org/samba/docs/man/Samba-HOWTO-Collection/
Samba-3 by Example:http://us4.samba.org/samba/docs/man/Samba-Guide/

PHP & MySQL

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
312行 max_execution_time = 300
313行 max_input_time = 600
314行 memory_limit = 160M
477行 post_max_size = 80M
582行 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?
/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/

phpMyAdmin

phpMyAdmin 官方網站:http://www.phpmyadmin.net/
tar zxvf phpMyAdmin-2.10.0.2-all-languages.tar.gz
rm -rf phpMyAdmin-2.10.0.2-all-languages.tar.gz
mv phpMyAdmin-2.10.0.2-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
30 行 $cfg['PmaAbsoluteUri'] = ''; 修改成--> $cfg['PmaAbsoluteUri'] = 'http://IP/phpMyAdmin/';
71 行 $cfg['Servers'][$i]['auth_type'] = 'config'; 修改成--> $cfg['Servers'][$i]['auth_type'] = 'http';
測試:http://IP/phpMyAdmin/,帳號 root,密碼空白
點選「權限」,然後點選「root」這兩行後面的「編輯權限」圖示,更改密碼
phpMyAdmin Documentation:http://IP/phpMyAdmin/Documentation.html
phpMyAdmin 官方文件:http://www.phpmyadmin.net/home_page/docs.php

phpSysInfo

phpSysInfo 官方網站:http://phpsysinfo.sourceforge.net/
tar zxvf phpsysinfo-2.5.3.tar.gz -C /var/www/html/
rm -rf phpsysinfo-2.5.3.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/

學校整合模組(程式撰寫:新竹縣 博愛國中 曾琳富老師)

先用 phpMyAdmin 新增 school 資料庫
安裝學校整合模組
yum -y install unzip gd
unzip -d /var/www/html 200703161635000.zip
rm -rf 200703161635000.zip
cp /var/www/html/school/config.inc.php /var/www/html/school/config.inc.php.bak
vi /var/www/html/school/config.inc.php
10行 $db_passwd = '1234'; //*MySQL username 的密碼
11行 $install_passwd = '1234'; //*安裝本程式密碼(務必更換)
14行 $self_url = 'http://localhost/develop/school/'; 修改成--> $self_url = 'http://IP/school/';
15行 $self_place = 'c:/appserv/www/develop/school/'; 修改成--> $self_place = '/var/www/html/school/';
28行 $use_unix_command = 0; 修改成--> $use_unix_command = 1;
29行 $unzip_command = '/usr/local/bin/unzip'; 修改成--> $unzip_command = '/usr/bin/unzip';
chmod -R 777 /var/www/html/school/data
安裝:http://IP/school/install.php
瀏覽:http://IP/school/
系統管理者預設帳號、密碼均為 admin
修改管理者密碼:基本資料/虛擬帳號管理
基本資料/學校資料編修

動態網頁模組

先用 phpMyAdmin 新增 dyna 資料庫
cd
wget http://dyna.hcc.edu.tw/dyna/data/user/dyna/files/200703161637450.zip

unzip -d /var/www/html 200703161637450.zip
rm -rf 200703161637450.zip
cp /var/www/html/dyna/config.inc.php /var/www/html/dyna/config.inc.php.bak
vi /var/www/html/dyna/config.inc.php
10行 $db_passwd = '1234'; //*MySQL username 的密碼
11行 $install_passwd = '1234'; //*安裝本程式密碼(務必更換)
14行 $self_url = 'http://IP/dyna/';
15行$self_place = '/var/www/html/dyna/';
33行 $use_unix_command = 0; 修改成--> $use_unix_command = 1;
34行 $unzip_command = '/usr/local/bin/unzip'; 修改成--> $unzip_command = '/usr/bin/unzip';
35行 $zip_command = '/usr/local/bin/zip'; 修改成--> $zip_command = '/usr/bin/zip';
chmod -R 777 /var/www/html/dyna/data
安裝:http://IP/dyna/install.php
瀏覽:http://IP/dyna/
系統管理者預設帳號、密碼均為 admin
修改管理者密碼:帳號基本設定

圖書管理系統

先用 phpMyAdmin 新增 library 資料庫
cd
wget http://dyna.hcc.edu.tw/dyna/data/user/dyna/files/200703161640150.zip

unzip -d /var/www/html 200703161640150.zip
rm -rf 200703161640150.zip
cp /var/www/html/library/config.inc.php /var/www/html/library/config.inc.php.bak
vi /var/www/html/library/config.inc.php
9行 $db_passwd = '1234'; //*MySQL username 的密碼
10行 $install_passwd = '1234'; //*安裝本程式密碼(務必更換)
13行 $self_place = 'C:/WebServ/wwwroot/htdocs/develop/library/'; 修改成--> $self_place = '/var/www/html/library/';
14行 $self_url = 'http://localhost/develop/library/'; 修改成--> $self_url = 'http://IP/library/';
chmod -R 777 /var/www/html/library/data
安裝:http://IP/library/install.php
瀏覽:http://IP/library/
系統管理者預設帳號、密碼均為 admin
修改管理者密碼:管理系統 / 進階 / 變更自己帳號密碼

Moodle - 課程管理系統

Moodle 官方網站:http://moodle.org/
先用 phpMyAdmin 新增 moodle 資料庫
unzip Moodle.zip
mv Moodle/moodle /var/www/html
chown -R apache.apache /var/www/html/moodle
rm -rf Moodle*
mkdir /var/www/html/moodledata
chown apache.apache /var/www/html/moodledata
echo "deny from all" > /var/www/html/moodledata/.htaccess
提升 Moodle 執行效能的設定(非必需,視自己需求設定)
vi /etc/php.ini
483行 magic_quotes_gpc = 1
486行 magic_quotes_runtime = 0
965行 session.bug_compat_warn = 0
echo "AcceptPathInfo on" >> /etc/httpd/conf/httpd.conf
/etc/rc.d/init.d/httpd restart
安裝:http://IP/moodle/install.php
crontab -e
*/5 * * * * wget -q -O /dev/null http://IP/moodle/admin/cron.php
官方文件:http://IP/moodle/doc/
教師手冊:http://IP/moodle/doc/?file=teacher.html
Moodle 中文加油站:http://moodle.hcc.edu.tw/

XOOPS - 網頁內容管理系統

XOOPS 官方網站:http://www.xoops.org/
tar zxvf xoops-2.2.4-tw-utf8.tgz
mv xoops-2.2.4-tw-utf8/html /var/www/html/xoops
rm -rf xoops-2.2.4-tw-utf8 xoops-2.2.4-tw-utf8.tgz
cd /var/www/html/xoops
chmod 666 mainfile.php
chmod 777 uploads cache templates_c
安裝:http://IP/xoops/install/index.php
資料庫使用者帳號:root
資料庫密碼:MySQL root 密碼
資料庫名稱:xoops
安裝完之後,執行下列指令:
rm -rf install
chmod 444 mainfile.php
chmod 777 uploads
測試:http://IP/xoops/
安裝基本模組包:
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討論區
XOOPS正體中文延伸計畫:http://xoops.tnc.edu.tw

phpBB - 論壇

phpBB 官方網站:http://www.phpbb.com/
先用 phpMyAdmin 新增 phpbb 資料庫
tar zxvf phpBB-2.0.22.tar.gz
mv phpBB2 /var/www/html/phpbb
unzip -d /var/www/html/phpbb/language/ lang_chinese_traditional.zip
tar zxvf subsilver_chinese_traditional.tar.gz -C /var/www/html/phpbb/templates/
rm -rf phpBB-2.0.22.tar.gz lang_chinese_traditional.zip subsilver_chinese_traditional.tar.gz
chmod 777 /var/www/html/phpbb/config.php
安裝:http://IP/phpbb/install/install.php
Default board language: Chinese [ Traditionl ]
資料庫格式: 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.html

LifeType - Blog 網誌

LifeType 官方網站:http://www.lifetype.org.tw/
cd
wget http://nchc.dl.sourceforge.net/sourceforge/lifetype/lifetype-1.0.6.tar.gz
tar zxvf lifetype-1.0.6.tar.gz
mv lifetype-1.0.6 /var/www/html/blog
chmod 777 /var/www/html/blog/config/config.properties.php
rm -rf lifetype-1.0.6.tar.gz
安裝:http://IP/blog/wizard.php
Database server :localhost
Database user :root
Database password :MySQL root 密碼
Database name :blog
rm -rf /var/www/html/blog/wizard.php
管理:http://IP/blog/admin.php
使用者註冊、登入:http://IP/blog/summary.php
如果不想讓他人註冊,請移除 /var/www/html/blog/summary.php 這個檔案

cron

校時:
yum -y install ntp
ntpdate watch.stdtime.gov.tw && clock -w
時間與頻率國家標準實驗室:http://www.stdtime.gov.tw/chinese/home.htm
NTP 校時軟體(for Windows):http://www.stdtime.gov.tw/chinese/EXE/NTPClock.exe
cp /etc/crontab /etc/crontab.bak
vi /etc/crontab
0 0-23 * * * root /usr/sbin/ntpdate watch.stdtime.gov.tw > /dev/null 2>&1
#每個小時校時一次
0 6 * * 0 root /bin/sync;/bin/sync;/bin/sync;/sbin/shutdown -r now > /dev/null 2>&1
#每星期天早上六點電腦重新開機
#以上設定僅供參考,請視自己狀況設定

Webmin:好用的web介面作業系統管理工具

Webmin 官方網站:http://www.webmin.com
cd
wget http://nchc.dl.sourceforge.net/sourceforge/webadmin/webmin-1.340-1.noarch.rpm
rpm -ivh webmin-1.340-1.noarch.rpm
rm -rf webmin-1.340-1.noarch.rpm
測試:http://IP:10000
中文化設定:Webmin / 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

大批帳號開設(使用 Webmin)

登入 Webmin:伺服器 / Samba視窗檔案分享 / 組態 Unix 和 Samba 使用者自動同步:勾選裡面的五個選項
注意:上面這點非常重要
建立個人網頁資料夾、範本檔
mkdir /etc/skel/www
echo "Under construction......" > /etc/skel/www/index.html
注意:這裡的 www,必須和 httpd.conf 內的 UserDir 設定一樣
建立群組:
使用 webmin 建立 群組名稱:系統 / 使用者與群組 / 建立一個新群組(以下以 s94 群組為例)
建立批次匯入檔案試算表範例檔批次匯入範例檔
批次檔格式:
create:使用者名稱:密碼:uid:gid:真實姓名:家目錄:shell:最小:最大:警告:非使用:過期
批次匯入檔必填的資料:
  1. 使用者名稱:可以使用學生學號
  2. 密碼:可以使用學生身份證號碼
  3. gid:請設定成上面開設的群組的 gid(grep s94 /etc/group),同一學年請設定成同一群組 
  4. 家目錄:同一學年的帳號均建在同一個資料夾內
  5. shell:均設成 /bin/bash 即可
使用批次檔建立大批使用者
登入 Webmin:系統 / 使用者與群組 / 使用批次檔一次過建立/修改/刪除使用者

quota 設定 - 磁碟配額

注意:quota 只能針對 partition 來設定,而不能針對某個資料夾來做控管,通常我們將使用者建在 /home (未更改預設使用者家目錄的狀況下),所以針對 /home 來做 quota 控管是必須的,當然前提是作業系統在安裝的時候,有為 home 獨立分割一個磁區
vi /etc/fstab
/dev/VolGroup00/LogVol02 /home ext3 defaults,usrquota 1 2
#在要啟動 quota 功能的磁區內加入紅字部分,這裡是以 /home 為例
#您的畫面,可能和這裡的不同,沒有關係
mount -o remount /home
quotacheck -avmcu
#沒問題的話,在 /home 內會自動產生 aquota.user 檔案
quotaon /home
編輯使用者 quota(這裡是以 s940001 這個帳號為例)
edquota s940001
Disk quotas for user s940001 (uid 501):
Filesystem blocks soft hard inodes soft hard
/dev/mapper/VolGroup00-LogVol02 5 45000 50000 6 0 0
quota s940001
repquota -a
註:edquota 預設會啟動 vi
複製 quota:
先進入帳號所在的目錄,
cd /home/s94
edquota -p s940001 *
repquota -a
使用 Webmin 設定:系統 / 磁碟配額

讓使用者尚未收的 mail 也受 quota 的管制:

注意:有獨立分割出 home 的人,才可使用這個方法
mkdir /home/mail
chown root.mail /home/mail
chmod 775 /home/mail
cp -rfp /var/spool/mail/* /home/mail
mv /var/spool/mail /var/spool/mail.bak
ln -s /home/mail /var/spool/mail

超過磁碟配額限制使用者名單

cd
wget http://apt.nc.hcc.edu.tw/web/student_server_centos4/src/quota_exceed.zip
unzip -d /root quota_exceed.zip
rm -rf quota_exceed.zip
chmod 755 -R /root/quota_exceed
修改:
vi /root/quota_exceed/home_create
#!/bin/bash
# Create Quota_exceed report for /home partiotn (/dev/sdb2)
cd /root/quota_exceed
/usr/sbin/repquota /home | grep + | sort > home_exceed
cat r1 > /var/www/html/home_exceed.htm
export LANG=zh_TW.Big5
#在這位置加入這行,這樣出來的網頁才不會有亂碼
date +%F%t%A%t%T >> /var/www/html/home_exceed.htm
cat r2 >> /var/www/html/home_exceed.htm
awk -f r3.awk home_exceed >> /var/www/html/home_exceed.htm
cat r4 >> /var/www/html/home_exceed.htm
/root/quota_exceed/home_create
echo '0 */6 * * * root /root/quota_exceed/home_create > /dev/null 2>&1' >> /etc/crontab
測試:http://IP/home_exceed.htm
/etc/passwd、/etc/shadow、/etc/group、/etc/skel 介紹
symbolic link 介紹:ln -s 真 假

ChangePassword

yum -y install gcc
cd
wget http://nchc.dl.sourceforge.net/sourceforge/changepassword/changepassword-0.9.tar.gz
tar zxvf changepassword-0.9.tar.gz
rm -rf changepassword-0.9.tar.gz
cd changepassword-0.9
vi lang.h
83行 #define charset "gb2312" 修改成--> #define charset "big5"
./configure --enable-cgidir=/var/www/cgi-bin --enable-language=TChinese \
--enable-smbpasswd=/etc/samba/smbpasswd --disable-squidpasswd
make
make install
cd ..
rm -rf changepassword-0.9
測試:https://IP/cgi-bin/changepassword.cgi

附錄

沒有留言:

張貼留言

單元03_腳位介紹_NodeMCU_ESP8266

單元03_腳位介紹_NodeMCU_ESP8266 NodeMCU的腳位相當特別,板子上所標示的號碼和寫程式時所要註明的腳位是不相同的。 因此我們得要記住NodeMCU相對應的腳位。