因为filezilla的官方二進制包是在debian下編譯的,所以我們無法使用。但是使用源代碼的話又有很多的依賴,我在filezilla的
WIKI上看到了一個非官方的二進制包,地址为:http://wiki.filezilla-project.org
/Unofficial_Binaries
這样的話安裝步驟就簡單多了,我們可以直接下載這個在CentOS平台的二進制包,然後解壓就可以直接運行了。
FileZilla 3.2.4 for CentOS 5.3
下載地址:http://code.technoplaza.net/filezilla/history/FileZilla-3.2.4-x86-CentOS_5.3.tar.bz2
tar xvfj FileZilla-3.2.4-x86-CentOS_5.3.tar.bz2
mv filezilla /usr/local/
ln -s /usr/local/filezilla/bin/filezilla /usr/local/bin/filezilla
2013年2月28日 星期四
2013年2月25日 星期一
設定mysql
# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
Set root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] Y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y
... Success!
By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
Set root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] Y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y
... Success!
By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!
強化yum功能
強化yum功能
- yum install yum-fastestmirror(加快yum下載速度)
- yum install yum-priorities
- vim /etc/yum/pluginconf.d/priorities.conf
- 在 [main]下新增enabled=1 (預設已寫上)
- cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
- vim /etc/yum.repos.d/CentOS-Base.repo
- 在[base], [addons], [updates], [extras]項目下新增 priority=1
- 在[centosplus],[contrib]項目下新增 priority=2
- vim /etc/yum/pluginconf.d/priorities.conf
- /etc/init.d/yum-updatesd restart
- i386 wget http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
- wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
- x86_64 wget http://apt.sw.be/redhat/el5/en/x86_64/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
- 安裝金鑰
- rpm --import http://www.wles.chc.edu.tw/upfiles/file/RPM-GPG-KEY.dag.txt
- rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
- rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm (以i386為例)
- yum check-update
Centos 6.3 安裝 wordpress 3.5.1
WordPress 安裝模組及佈景主題出現 (無法複製檔案) 問題處理:
很久沒有接觸 WordPress 了,今次這新安裝的 WordPress 3.1 是放在 FreeBSD 主機上。在初步完結後去更新模組及佈景主題時出現 (無法複製檔案) 問題處理。從顯示路徑和於 FTP 內看到是 WordPress 路徑處理錯誤出現。下載檔案時和解壓時把用家的 FTP 根目錄當成絕對路徑的根目錄來處理的定位錯誤情況。
這次處理很簡單,打開 WordPress 的安裝目錄。找 wp-config.php 打開,加進下面言法到最下面便可。
# vi /var/www/html/wordpress/wp-config.php
if(is_admin()) {add_filter('filesystem_method', create_function('$a', 'return "direct";' ));define( 'FS_CHMOD_DIR', 0751 );}
?>
很久沒有接觸 WordPress 了,今次這新安裝的 WordPress 3.1 是放在 FreeBSD 主機上。在初步完結後去更新模組及佈景主題時出現 (無法複製檔案) 問題處理。從顯示路徑和於 FTP 內看到是 WordPress 路徑處理錯誤出現。下載檔案時和解壓時把用家的 FTP 根目錄當成絕對路徑的根目錄來處理的定位錯誤情況。
這次處理很簡單,打開 WordPress 的安裝目錄。找 wp-config.php 打開,加進下面言法到最下面便可。
# vi /var/www/html/wordpress/wp-config.php
if(is_admin()) {add_filter('filesystem_method', create_function('$a', 'return "direct";' ));define( 'FS_CHMOD_DIR', 0751 );}
?>
開埠
CentOS 安裝完成後,預設只開放 Port 22 供外面連結,如要開放其他 port,如 ftp(port 21),要如何進行??
1. 察看 port 21 是否 listen
# netstat -tulnp | grep 21
2. 如 port 21 沒 listen, 啟動 vsftpd
# /etc/init.d/vsftpd start
3. 修改 iptables-config
# vi /etc/sysconfig/iptables-config
將 IPTABLES_MODULES 修改如下,兩模組間用一個空白區隔
IPTABLES_MODULES="ip_nat_ftp ip_conntrack_ftp"
4. 修改 iptables
# vim /etc/sysconfig/iptables
複製 --dport 22 那一行到下一行,再修改 22 -> 21
ex:
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
5. 重啟 iptables
# /etc/init.d/iptables restart
6. 察看 iptables 現在運作的 rule
# iptables -L -n
7. 再預設的情況下,CentOS 的 ftp 並允許實體帳號登入取得家目錄的資料,所以下達 dir 不會有任何資料顯示(此為SELinux的限制,Linux 核心2.6之後版本,SELinux預設是啟動的)。
顯示 SELinux 相關設定
# getsebool -a | grep ftp
...
ftp_home_dir=off
# setsebool -P ftp_home_dir=1
1. 察看 port 21 是否 listen
# netstat -tulnp | grep 21
2. 如 port 21 沒 listen, 啟動 vsftpd
# /etc/init.d/vsftpd start
3. 修改 iptables-config
# vi /etc/sysconfig/iptables-config
將 IPTABLES_MODULES 修改如下,兩模組間用一個空白區隔
IPTABLES_MODULES="ip_nat_ftp ip_conntrack_ftp"
4. 修改 iptables
# vim /etc/sysconfig/iptables
複製 --dport 22 那一行到下一行,再修改 22 -> 21
ex:
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
5. 重啟 iptables
# /etc/init.d/iptables restart
6. 察看 iptables 現在運作的 rule
# iptables -L -n
7. 再預設的情況下,CentOS 的 ftp 並允許實體帳號登入取得家目錄的資料,所以下達 dir 不會有任何資料顯示(此為SELinux的限制,Linux 核心2.6之後版本,SELinux預設是啟動的)。
顯示 SELinux 相關設定
# getsebool -a | grep ftp
...
ftp_home_dir=off
# setsebool -P ftp_home_dir=1
2013年2月23日 星期六
修改ip
修改ip
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 <== 網路卡代號,必須要 ifcfg-eth0 相對應
BOOTPROTO=static <== 開機協定,有 dhcp 及 static 這裡是 static
BROADCAST=192.168.1.255 <== 就是廣播位址囉
HWADDR=00:40:D0:13:C3:46 <== 就是網路卡位址
IPADDR=192.168.1.13 <== 就是 IP 啊
NETMASK=255.255.255.0 <== 就是子遮罩網路
NETWORK=192.168.1.0 <== 就是網域啊!該網段的第一個 IP
GATEWAY=192.168.1.2 <== 就是預設路由!
ONBOOT=yes <== 是否開機啟動的意思
MTU=1500 <== 就是最大傳輸單元的設定值。
#GATEWAYDEV=eth0 <== 主要路由的裝置為那個,通常不用設定
設定 DNS 的 IP
vi /etc/resolv.conf
nameserver 168.95.1.1
nameserver 139.175.10.20
重新啟動所有網路卡
/etc/init.d/network restart
啟動 eth0 網路卡
ifup eth0
關閉 eth0 網路卡
ifdown eth0
2013年2月21日 星期四
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
--enable-smbpasswd=/etc/samba/smbpasswd --disable-squidpasswd
make
make install
cd ..
rm -rf changepassword-0.9
測試:https://IP/cgi-bin/changepassword.cgi
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
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):quota s940001
Filesystem blocks soft hard inodes soft hard
/dev/mapper/VolGroup00-LogVol02 5 45000 50000 6 0 0
repquota -a
註:edquota 預設會啟動 vi
複製 quota:
先進入帳號所在的目錄,使用 Webmin 設定:系統 / 磁碟配額
cd /home/s94
edquota -p s940001 *
repquota -a
讓使用者尚未收的 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
超過磁碟配額限制使用者名單
script 原始來源:http://home.csjh.tcc.edu.tw/home_exceed.htmcd
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/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
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 真 假
大批帳號開設(使用 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:最小:最大:警告:非使用:過期批次匯入檔必填的資料:
- 使用者名稱:可以使用學生學號
- 密碼:可以使用學生身份證號碼
- gid:請設定成上面開設的群組的 gid(grep s94 /etc/group),同一學年請設定成同一群組
- 家目錄:同一學年的帳號均建在同一個資料夾內
- shell:均設成 /bin/bash 即可
登入 Webmin:系統 / 使用者與群組 / 使用批次檔一次過建立/修改/刪除使用者
Webmin - web 介面作業系統管理軟體
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 的話啟用?
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 的話啟用?
PHP & MySQL 安裝及設定
安裝PHP
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
vi /var/www/html/phpinfo.php
Centos 5.7 升級PHP 5.2.17
#rpm -ivh http://repo.webtatic.com/yum/centos/5/`uname -i`/webtatic-release-5-0.noarch.rpm
安裝PHP
#yum --enablerepo=webtatic install php
升級PHP
#yum --enablerepo=webtatic update php
如果不能安裝或升級時,請改用下列指令
#yum --disablerepo=* --enablerepo=webtatic update php
下列指令也是安裝php,但指定不要5.3.x版的(先執行第一或第二到指令後再執行此指令)
#yum --disablerepo=* --enablerepo=webtatic --exclude=php*5.3* install php
啟動 MySQL
/etc/rc.d/init.d/mysqld start
chkconfig mysqld on
註:在這裡我們先不設定 MySQL 的 root 密碼,等裝了下面的 phpMyAdmin 之後,再使用 phpMyAdmin 修改
MySQL 官方文件:http://dev.mysql.com/doc/
cd
wget http://nchc.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.10.0.2-all-languages.tar.gz
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
點選「權限」,然後點選「root」這兩行後面的「編輯權限」圖示,更改密碼
phpMyAdmin Documentation:http://IP/phpMyAdmin/Documentation.html
phpMyAdmin 官方文件:http://www.phpmyadmin.net/home_page/docs.php
cd
wget http://nchc.dl.sourceforge.net/sourceforge/phpsysinfo/phpsysinfo-2.5.3.tar.gz
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
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
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 restartvi /var/www/html/phpinfo.php
<?
phpinfo();
?>
測試:w3m http://IP/phpinfo.phpphpinfo();
?>
Centos 5.7 升級PHP 5.2.17
#rpm -ivh http://repo.webtatic.com/yum/centos/5/`uname -i`/webtatic-release-5-0.noarch.rpm
安裝PHP
#yum --enablerepo=webtatic install php
升級PHP
#yum --enablerepo=webtatic update php
如果不能安裝或升級時,請改用下列指令
#yum --disablerepo=* --enablerepo=webtatic update php
下列指令也是安裝php,但指定不要5.3.x版的(先執行第一或第二到指令後再執行此指令)
#yum --disablerepo=* --enablerepo=webtatic --exclude=php*5.3* install php
啟動 MySQL
chkconfig mysqld on
註:在這裡我們先不設定 MySQL 的 root 密碼,等裝了下面的 phpMyAdmin 之後,再使用 phpMyAdmin 修改
如何重新安裝 MySQL?
/etc/rc.d/init.d/mysqld stopPHP 官方文件:http://www.php.net/docs.php
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 '密碼'
MySQL 官方文件:http://dev.mysql.com/doc/
phpMyAdmin
phpMyAdmin 官方網站:http://www.phpmyadmin.net/cd
wget http://nchc.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.10.0.2-all-languages.tar.gz
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,密碼空白71 行 $cfg['Servers'][$i]['auth_type'] = 'config'; 修改成--> $cfg['Servers'][$i]['auth_type'] = 'http';
點選「權限」,然後點選「root」這兩行後面的「編輯權限」圖示,更改密碼
phpMyAdmin Documentation:http://IP/phpMyAdmin/Documentation.html
phpMyAdmin 官方文件:http://www.phpmyadmin.net/home_page/docs.php
phpSysInfo
phpSysInfo 官方網站:http://phpsysinfo.sourceforge.net/cd
wget http://nchc.dl.sourceforge.net/sourceforge/phpsysinfo/phpsysinfo-2.5.3.tar.gz
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/
37行 $default_template='classic';
郵件伺服器建置
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 前面不要留有空格
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.bakm4 /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 Connect:192.168.1 RELAY
#加入以上兩行(請依自己學校狀況修改)
/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
newaliasesPOP server
Dovecot 官方網站:http://www.dovecot.org/yum -y install dovecot
cp /etc/dovecot.conf /etc/dovecot.conf.bak
vi /etc/dovecot.conf
20行 #protocols = imap imaps 修改成--> protocols = pop3
#只開啟 pop3 的功能,若要 imap 請自行加入,此設定值若不修改,預設是開啟 imap、pop3 的
85行 #ssl_disable = no 修改成--> ssl_disable = yes
#不啟動 ssl 加密功能
211行 #mail_location = 修改成--> mail_location = mbox:~/mail:INBOX=/var/mail/%u
#不啟動 ssl 加密功能
211行 #mail_location = 修改成--> mail_location = mbox:~/mail:INBOX=/var/mail/%u
#手動指定給他位置,pop3無法收信,設定這裡即可
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/
安裝
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
15行 domainnames auto 修改成--> domainnames 郵件伺服器網址
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.Traditional76行 <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測試:https://IP/mail/
ScriptAlias /mail "/var/www/cgi-bin/openwebmail/openwebmail.pl"#在設定檔最後面加上這一行/etc/rc.d/init.d/httpd restart
註:
- 參考資料:http://turtle.ee.ncku.edu.tw/~tung/openwebmail/
- How to install Open WebMail on Red Hat Enterprise Linux 3 By Thomas Chung <tchung AT openwebmail.org>
- 官方安裝說明檔:/var/www/data/openwebmail/doc/readme.txt
- cd /var/www/cgi-bin/openwebmail/etc/
- openwebmail.conf - 主要的設定檔,管理者要設定的選項,應該都寫在這個檔案裡頭
- openwebmail.conf.help - openwebmail.conf 所有選項的說明檔
FTP 伺服器建置
yum -y install vsftpd
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
vi /etc/vsftpd/vsftpd.conf#設定ftp的權限
簡單說明:
將 vsftpd 啟動 Passive Mode ,限制所使用等待連線的 ports 在 5000-5005,然後開啟 iptables 裡面 port 5000-5005 可以被連接。
在Centos 6.3中,設置完啟動後,若出現可登入、可下載、無法上傳,顯示"553 Could not create file"訊息,請執行以下:
[root@umboyserver vsftpd]# setsebool allow_ftpd_full_access 1
[root@umboyserver vsftpd]# setsebool allow_ftpd_use_cifs 1
[root@umboyserver vsftpd]# setsebool allow_ftpd_use_nfs 1
[root@umboyserver vsftpd]# setsebool ftp_home_dir 1
[root@umboyserver vsftpd]# setsebool httpd_enable_ftp_server 1
[root@umboyserver vsftpd]# setsebool tftp_anon_write 1
[root@umboyserver vsftpd]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
[root@umboyserver vsftpd]# getsebool -a|grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> on
allow_ftpd_use_cifs --> on
allow_ftpd_use_nfs --> on
ftp_home_dir --> on
httpd_enable_ftp_server --> on
tftp_anon_write --> on
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)
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
mkdir /media/iso
mount -o loop xxx.iso /media/iso
察看檔案系統磁碟空間使用狀況:df -h
chown 介紹
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
vi /etc/vsftpd/vsftpd.conf#設定ftp的權限
12行 anonymous_enable=YES 修改成--> anonymous_enable=NO#關閉任何使用者不得登入
51行 #xferlog_file=/var/log/xferlog 修改成--> xferlog_file=/var/log/xferlog
51行 #xferlog_file=/var/log/xferlog 修改成--> xferlog_file=/var/log/xferlog
local_umask=022 這會影響使用者上傳後的檔案權限
93行 #chroot_local_user=YES 修改成--> chroot_local_user=YES
94行 #chroot_list_enable=YES 修改成--> chroot_list_enable=YES
96行 #chroot_list_file=/etc/vsftpd/chroot_list 修改成--> chroot_list_file=/etc/vsftpd/chroot_list
如果系統是 Centos 6.3 + vsftpd 2.2.2 ,請在最後加入
pasv_enable=YES
pasv_max_port=5005
pasv_min_port=5000
94行 #chroot_list_enable=YES 修改成--> chroot_list_enable=YES
96行 #chroot_list_file=/etc/vsftpd/chroot_list 修改成--> chroot_list_file=/etc/vsftpd/chroot_list
如果系統是 Centos 6.3 + vsftpd 2.2.2 ,請在最後加入
pasv_enable=YES
pasv_max_port=5005
pasv_min_port=5000
然後在 iptable 的設定裡面,加上以下則:
-A INPUT -p tcp --dport 5000:5005 -j ACCEPT
檢查 /etc/vsftpd 資料夾中有沒有 chroot_list 這個檔,如果沒有,請自行新增,否則連線時會出現如下圖的錯誤訊息:
/
簡單說明:
將 vsftpd 啟動 Passive Mode ,限制所使用等待連線的 ports 在 5000-5005,然後開啟 iptables 裡面 port 5000-5005 可以被連接。
在Centos 6.3中,設置完啟動後,若出現可登入、可下載、無法上傳,顯示"553 Could not create file"訊息,請執行以下:
[root@umboyserver vsftpd]# setsebool allow_ftpd_full_access 1
[root@umboyserver vsftpd]# setsebool allow_ftpd_use_cifs 1
[root@umboyserver vsftpd]# setsebool allow_ftpd_use_nfs 1
[root@umboyserver vsftpd]# setsebool ftp_home_dir 1
[root@umboyserver vsftpd]# setsebool httpd_enable_ftp_server 1
[root@umboyserver vsftpd]# setsebool tftp_anon_write 1
[root@umboyserver vsftpd]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
[root@umboyserver vsftpd]# getsebool -a|grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> on
allow_ftpd_use_cifs --> on
allow_ftpd_use_nfs --> on
ftp_home_dir --> on
httpd_enable_ftp_server --> on
tftp_anon_write --> on
/etc/rc.d/init.d/vsftpd start
chkconfig vsftpd on
touch /home/sysadm/ftptest.txt
測試:lftp -u sysadm IP(或 lftp sysadm@IP)
如何上傳網頁到 /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 介紹
網頁伺服器建置
yum -y install httpd mod_ssl
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
vi /etc/httpd/conf/httpd.conf
/etc/rc.d/init.d/httpd start
chkconfig httpd on
注意:web server 架設好之後,個人網頁的功能也啟動了,只要輸入「http://IP/~xxx」即可瀏覽,不過請確定 SELinux 的功能是關閉的,否則將無法正常瀏覽個人網頁。
關閉 SELinux
vi /etc/sysconfig/selinux
vi /etc/httpd/conf/httpd.conf
在檔案最後面新增下面區段
測試:w3m http://IP/test1/
/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
修改密碼:htpasswd -m .htpasswd sysadm
新增使用者:htpasswd .htpasswd user2
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
<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位置:ll /var/log/httpd/
Webalizer 官方文件:ftp://ftp.mrunix.net/pub/webalizer/README
新建檔案及目錄的預設權限修正 /etc/login.defs
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
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
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 的功能是關閉的,否則將無法正常瀏覽個人網頁。
關閉 SELinux
vi /etc/sysconfig/selinux
SELINUX=enforcing 改成--> SELINUX=disabled
限制網頁連線範圍
mkdir /var/www/html/test1vi /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 Deny from all
Allow from 192.168.1.0/255.255.255.0
Options Indexes FollowSymLinks
</Directory>
測試: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/AuthName "Top Secret"
AuthType Basic
require valid-user
修改密碼: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
<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位置:ll /var/log/httpd/
Webalizer 官方文件:ftp://ftp.mrunix.net/pub/webalizer/README
讓使用者新建帳號後 家目錄自動產生www
#cd /etc/skel
#mkdir www
這樣新增使用者後 將會在其家目錄自動新增資料夾
新建檔案及目錄的預設權限修正 /etc/login.defs
新建檔案及目錄的預設權限 : umask (/etc/login.defs)
目錄權限 : 777
檔案權限 : 666
系統預設umask 0022 :
即目錄777 drwxrwxrwx 減 0022 d----w--w- 等於 drwxr-xr-x
檔案666 -rw- rw- rw- 減 0022 - ----w--w- 等於 - rw-r--r--
umask=022 使用者新增的檔案才有權限呈現在網頁中
設定完就可以測試一下,測試步驟
#useradd test 新增使用者名稱為test
#passwd test 建立test這位使用者的密碼為test
ftp至server 用test的帳號密碼登入後,將網頁相關檔案上傳到
public_html資料夾。
最後再開啟網頁 http://ServerIP/~test/index.htm
就可以看到test這位使用者透過ftp上傳至網頁資料夾的首頁了
訂閱:
意見 (Atom)
