2017年3月27日 星期一

利用CentOS7 設置網站

CentOS安裝: (Centos7.3, 最小安裝,一張CD就可以, 也可以是DVD, 無所謂)

選擇最小安裝,這可以避免造成不必的沖突,特別是硬件,而且節省時間

安裝過程中注意一定要填好 Network 數據例如 domain name , IP地址或者選擇DHCP, 總之必需能連接上Internet , 因為接著很多工作需要連網, 注意裝完最好更新一下:

yum -y update 

然后 reboot 一下。

需要GUI的話: 

yum -y groups install "GNOME Desktop" “Graphical Administration Tools”  

這可需要挺長時間才能完成,做些其它事吧......, 一旦完成了, 輸入 :
ln –sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
重啟機器就可以進入GUI畫面了

安裝后先把防火墻停止,安裝完成才重新確認那些Port需要打開:

停止 firewalld:

systemctl stop firewalld.service            <<<停止firewall
systemctl disable firewalld.service       <<<禁止firewall开机启动

關閉 SELINUX:
 
修改 /etc/selinux/config

#SELINUX=enforcing            <<<把這個設置用#注譯掉
#SELINUXTYPE=targeted    <<<把這個設置用#注譯掉
SELINUX=disabled               <<<加上這個設置,將Selinux停止
setenforce 0                          <<<利用這句應該可以不用重新開機,但是最好還是重新開機

最后安裝 epel 和 gcc

yum install epel-release            <<<安裝 epel
yum install gcc                          <<<安裝 C 編譯
yum -y install wget
yum -y install unzip
yum -y install telnet
yum -y install perl-CGI


到了這基本上系統完成安裝了!

當一切安裝設置好了必需開啟Firewall, 下面如何用GUI 設置Firewall ( 注意是最后才設置)

首先把防火墻設置工具裝上:    yum install system-config-firewall*
然后執行指令 :
System – Administration – Firewall
或者
system-firewall-config  (似乎 firewall-config 也可以)

Setup 這指令好像沒啦

yum -y install setuptool  ntsysv system-config-securitylevel-tui  system-config-network-tui  authconfig-gtk  system-config-keyboard

--------------------------------------------------------------------------------------------------------

安裝各軟件, 差不多都可以用yum來做 ,注意每次安裝完成都必需啟動:

CentOS 7 利用systemctl ( start , enable ,stop ,status ) xxxx] 或 service xxxx [ start , stop ,status ]都可以,以前的/etc/init/xxxx 等雖然對大部分都還OK,但是還是用新的吧!

7.8 開始可以用dnf代替yum

yum -y install dnf

與 yum 一樣使用
--------------------------------------------------------------------------------------------------------

Apache Server

 yum install httpd 

基本上沒什么設置, 在/etc/httpd/conf/httpd.conf ,找到 DirectoryIndex 這行,換成主頁的格式,例如 index.php index.htm index.html 等等, 注意用空格隔開每個不同的格式.


注意: 因為 vsftp 將限制使用者只能在自己的 home, 必需把  webadmin 個使用者的 home 與 /var/wwwhtml 連接:

chmod 755 /home/webadmin
mkdir /home/webadmin/html
chown webadmin.webadmin /home/webadmin/html
cp -rpf /var/www/html/* /home/webadmin/html/           <<新的安裝這個不需要
mv /var/www/html /var/www/html.bak                          <<<新的安裝這個不需要

ln -s /home/webadmin/html /var/www/ <<<與/var/www/html連接

這樣才能用webadmin這個帳號通過vsftp 上傳網站數據.
------------------------------------------------------------------------------------------------------

DNS server : yum install bind* (不加 -y 可以看看有什么需要才裝)

------------------------------------------------------------------------------------------------------

SSH Server: 這個系統安裝已經有,只需要修改 /etc/sshd/sshd_config , 在檔案最後面加上這一行 AllowUsers sysadm ,這樣就只有 sysadm 可以使用 ssh 連線了,若要設定多人,使用者之間就用空格隔開。當然必需已經sysadm這個帳號

--------------------------------------------------------------------------------------------------------

VSFTP

yum 安裝    yum -y install vsftpd

修改: vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022

dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=120
ascii_upload_enable=YES
ascii_download_enable=YES


ftpd_banner=XXXXXXXX          <<<填寫連接FTP后用戶見到的文字
chroot_local_user=YES             <<<將所有使用者都限制在其主目錄下

pam_service_name=vsftpd
tcp_wrappers=YES
pasv_enable=YES
allow_writeable_chroot=YES

下面這三項配合,user_list 内的User為白名單 

userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list


---------------------------
Support SSL 

建立憑證:

mkdir /etc/ssl/private            <<<  免得與郵件的憑證位置衝突

#openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

修改 vi /etc/vsftpd/vsftpd.conf

加上

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH

重啓vfstpd ; systemctl restart vsftpd

補充:
===========設置每個使用者的使用限制==============

user_config_dir=/etc/vsftpd/user_conf           <<< 增加這行

例如要讓使用者test1不能刪除文件:

touch /etc/vsftpd/user_conf/test1       <<<建立使用者 "test1"的設置檔

在里面加上:

cmds_allowed=FEAT,REST,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,SIZE,STOR,TYPE,USER,ACC,RETR,RNTO,RNFR

注意這里沒有" DELETE " ,但是其他FTP的功能都齊

==============讓FTP文件放在特別的位置 ================

mkdir /ftphome                       <<<增加 ftphome 這個目录
chmod 0777 /ftphome             <<<避免权限有问题不能登錄

useradd -g ftp -d /ftphome/username -s /sbin/nologin username         <<利用這個語法增加FTP用户,可以让FTP用户的HOME放到/ftphome

做上面這步同時必需在 /etc/shells 增加:/sbin/nologin 
否則nologin group 將無法登入FTP

假如有需要可以將用户增加到 /etc/vsftpd/chroot_list , 這些使用者可以離開自己的  home ( 似乎不需要)

設置

chroot_local_user=YES

chroot_local_user=NO

chroot_list_enable=YES

1.所有使用者都被限制在其主目錄

2. chroot_list_file用戶作為不受限制

1.所有使用者都不被限制其主目錄

2.chroot_list_file指定的用戶受到限制

chroot_list_enable=NO

1.所有使用者都被限制在其主目錄

2.使用chroot_list_file用戶可以離開










 echo '用户名' >> /etc/vsftpd/chroot_list  ,
也可以vi填寫進去

systemctl start vsftpd
systemctl enable vsftpd 

查看FTP賬號:

cat /etc/passwd | grep ftp
------------------------------------------------------------------------------------------------------------

MySql (MariaDB)


touch /etc/yum.repos.d/MariaDB.repo

vi /etc/yum.repos.d/MariaDB.repo

MariaDB 10.3 Repo :

# MariaDB 10.3 CentOS repository list - created 2020-11-15 05:00 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

MariaDB 10.4 Repo:

# MariaDB 10.4 CentOS repository list - created 2020-11-15 05:01 UTC # http://downloads.mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1

yum or dnf install:


dnf install MariaDB-server systemctl start mariadb


啟動MariaDB , 必需要做這步,否則無法完成下一步

systemctl start mariadb 

進入安全設置:
mysql_secure_installation ( new version : mariadb-secure-installation )

接著詢問root 的 password, 直接按Enter, 因為剛裝的MariaDB是沒有Password , 然后計算方法會詢問是不是添加 root 的 password , 回答者"Y",重復兩次填寫密碼, 之后的其它項目就全部回答 "Y" 就可以了.

然后重啟,

systemctl restart mariadb

MariaDB 算是完成了

Backup and Restore database


install tools called "MariaDB-backup"

yum -y install MariaDB-backup


backup:

then, create directory "/mariadb" and  then make a backup file named "fullbackup"

mkdir /mariadb 

mariabackup --backup --target-dir=/mariadb/fullbackup --user=root --password=root password


Restore:

makesure DB installtion dirtary ( /ver/lib/mysql) empty before restore

first, prepare for restore:

mariabackup  --prepare   --target-dir=/mariadb/fullbackup/  --user=root --password=root password

Then:

mariabackup --copy-back --target-dir=/mariadb/fullbackup --user=root --password=root password

finally, run the following command:

chown -R mysql.mysql  /var/lib/mysql  

systemctl restart mariadb

--------------------------------------------------------------------------------------------------------------

PhpMyAdmin


添加   phpMyAdmin:

yum -y install httpd httpd-devel httpd-manual php-mysql php-mbstring \

php php-soap php-xml php-mcrypt php-pear php-cli php-devel php-gd

前面 httpd 可能已經有安裝,無所謂, yum 會自己選擇

yum install phpmyadmin

然后修改 /etc/httpd/conf.d/phpMyAdmin.conf

# Apache 2.4
# Require ip 127.0.0.1     <<<在前面加上 #
# Require ip ::1               <<<在前面加上 #
Require all granted         <<<加上這行,這樣就可以從所有的地址登錄

注意共有四段需要修改, 兩段Apache2.4 和兩段Apache2.2

重啟  httpd

systemctl restart httpd 

然后登錄http://localhost/phpMyAdmin/ , 當然localhost 可以是任何安裝 phpMyAdmin 的 IP.

----------------------------------------------------------------------------------------------------------------------------------------------

安裝 e-mail Server: Sendmail + Dovecot +Cyrus-sasl + Clamav + MailScanner + Spamassassin

首先建立自己的證書, (這步可以忽略, Dovecot 本來有這文件):

cd /etc/pki/tls/certs               <<<<< 證書位置
make mail.pem                     <<<<< 建立證書

會詢問幾個問題,包括城市,公司名字,聯系郵箱...等等,

openssl x509 -in mail.pem -out mail.der          <<建立根憑證, 讓郵件使用者拿來安裝到本機
yum install cyrus-sasl cyrus-sasl-plain             <<安裝 sasl , 似乎 Centos7.3 預裝有SASL

systemctl start saslauthd
systemctl enable saslauthd

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

安裝及設置dovecot:

yum install dovecot 

修改 /etc/dovecot/dovecot.conf
protocols = imap pop3

修改 /etc/dovecot/conf.d/10-mail.conf
mail_location = mbox:~/mail:INBOX=/var/mail/%u
mail_access_groups = mail

修改 /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no
auth_mechanisms = plain login

修改 /etc/dovecot/conf.d/10-ssl.conf
( 注意: 如果前面沒有建立自己的證書和密鑰而是選擇dovecot原有的, 這步可以不需要)

ssl = yes          <設定 yes 就可以通用 SSL/TLS 加密或不加密的 pop3/imap

ssl_cert = </etc/pki/tls/certs/mail.pem       <<<指定SSL密匙位置
ssl_key = </etc/pki/tls/certs/mail.pem        <<<指定SSL證書位置

啟動 Dovecot 
systemctl start dovecot
systemctl enable dovecot 

看看有沒有問題: 
systemctl status -l dovecot

如果出現:   Can't open PID file /var/run/dovecot/master.pid (yet?),.......

執行以下指令

chown root:dovecot /var/run/dovecot
chmod 755 /var/run/dovecot


建立 /var/mail 及 /var/spool/mail 這兩個目錄--如果沒有存在會接收不到郵件

更改權限 :   chmod a+rwxt /var/mail


___________________________________________________________________

安裝sendmail :

yum install sendmail sendmail-cf

修改 /etc/mail/sendmail.mc , 拿走下面幾行前面的 "dnl" ,同時修改證書位置

TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confCACERT_PATH', `/etc/pki/tls/certs')dnl
define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnl
define(`confSERVER_CERT', `/etc/pki/tls/certs/mail.pem')dnl              <<指定證書位置
define(`confSERVER_KEY', `/etc/pki/tls/certs/mail.pem')dnl                 <<指定密鑰位置
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl         << 由127.0.0.0 改為 0.0.0.0 或者Server的IP

DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl       <<增加 Port 587
DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl        <<增加 SSL Port 465

MaxMessageSize=20480000   <<<預設未限制發信大小,有需要可以自己加, 例如20M

修改 /etc/sasl2/sendmail.conf  這個文件:

pwcheck_method:saslauthd      <<<確認SASL認證,   這個 Centos7.3 似乎調好了


接著必需修改 /etc/mail/access 增加一行

Connect:XXX.XXX.XXX.XXX RELAY       <<<需要 RELAY 的 Host IP , 當然是自己Server

用hash 把access 轉為access.db , 讓Sendmail可以讀到

makemap hash /etc/mail/access.db < /etc/mail/access

最后,把sendmail.mc 轉換為cf文件:
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

啟動 sendmail

systemctl start sendmail
systemctl enable sendmail      << 除非不再安裝MailScanner,否則并不需要這步 !!

---------------------------------------------------------------------

安裝ClamAV

yum install clamav clamav-server clamav-update clamav-scanner

可能會已經有些其它的套件, 別理了,回答Yes! 全部安裝

然后修改:

/etc/freshclam.conf
/etc/clamd.d/scan.conf          <<<兩個文件,把 Example 前面加 "# " 注釋掉

接著修改 /etc/sysconfig/freshclam

#FRESHCLAM_DELAY=disabled-warn # REMOVE ME

本來沒有 "# " , 加上 "#" , 把這句注釋掉,讓 Clamav 的 freshclam 自己定期更新, 
要運行一次 freshclam , 如果正常將會下載病毒庫,注意挺慢的,需要點耐心....

更新好了就可以試一試掃描:

clamscan ./

出現下面這些:


//FAQ: OK
//BUGS: OK
//NEWS: OK
//TODO: OK
//depcomp: OK
//aclocal.m4: OK
//README: OK
//ltmain.sh: OK
//configure: OK
//configure.in: OK
//config.guess: OK
//install-sh: OK
//config.sub: OK
//missing: OK
//mkinstalldirs: OK
//Makefile.am: OK
//Makefile.in: OK
//acinclude.m4: OK
//AUTHORS: OK
//INSTALL: OK
//ChangeLog: OK
//COPYING: OK
//config.log: OK
//target.h: OK
//config.status: OK
//Makefile: OK
//libtool: OK

----------- SCAN SUMMARY -----------
Known viruses: 9567
Scanned directories: 1
Scanned files: 27
Infected files: 0
Data scanned: 1.12 Mb
I/O buffer size: 131072 bytes
Time: 1.605 sec (0 m 1 s)

如果沒有什么錯誤那就是成功啦!

更新: Clamav 1.x 以上版本要求glibc-2.28, CentOS7 要升級gcc make

# 升级 make(默认为3 升级为4)

wget http://ftp.gnu.org/gnu/make/make-4.3.tar.gz

tar -xzvf make-4.3.tar.gz && cd make-4.3/

./configure  --prefix=/usr/local/make

make && make install

cd /usr/bin/ && mv make make.bak

ln -sv /usr/local/make/bin/make /usr/bin/make

make --version <<< 確認是什麽版本


# 升级GCC(原來为4 升级为8)

yum install -y centos-release-scl

yum install -y devtoolset-8-gcc*

yum install gcc*

mv /usr/bin/gcc /usr/bin/gcc-4.8.5

ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc

mv /usr/bin/g++ /usr/bin/g++-4.8.5

ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++

gcc --version  <<<<< 確認是什麽版本


除了升級上面GCC*make, 也要安裝bison

yum install -y bison


升級GLIBCglibc-2.28

wget http://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz

tar xf glibc-2.28.tar.gz

cd glibc-2.28/ && mkdir build  && cd build

../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

下一步就是

make && make install  <<<<(要等很久)

: ldd –version

ldd (GNU libc) 2.28  <<<已經更新到2.28


接著可以安裝Clamav, 最新版本是1.5x

Download Clamav:

wget https://www.clamav.net/downloads/production/clamav-1.5.0.linux.x86_64.rpm

rpm -ivh clamav-1.5.0.linux.x86_64.rpm

then copy and rename the file in “/usr/local/etc/” called “clamd.conf.sample” and “freshclam.conf.sample” to clamd.conf and freshclam.conf :

cp /usr/local/etc/clamd.conf.sample /usr/local/etc/clamd.conf

cp /usr/local/etc/ freshclam.conf.sample /usr/local/etc/ freshclam.conf

vi修改兩個文件,# Example注譯掉, :wq to quit

freshclam      <<< update Virus base

clamscan ./   <<<<check status


安裝 MailScanner

MailScanner 最後才裝,先確認Dovecot, Postfix (或Sendmail) 收發正常並確認已經有Spamassassin 及Clamav

再將必要套件裝上

yum -y install \
perl-Archive-Zip \
perl-DBI \
perl-DBD-SQLite \
perl-OLE-Storage_Lite \
perl-Sys-SigAction \
perl-MIME-tools

下載MailScanner, 最近的是 MailScanner-5.3.4-2,

最好到 https://www.mailscanner.info/downloads/ 查詢看看最新版本

cd /root/Desktop          <<<<<這個位置隨意

如果裝舊版
[ wget https://s3.amazonaws.com/msv5/release/MailScanner-5.0.3-7.rhel.tar.gz ] 舊版
#tar -zxvf MailScanner-5.0.3-7.rhel.tar.gz
#cd MailScanner-5.0.3-7
#./install.sh

最新版本 (rpm)

wget 
https://github.com/MailScanner/v5/releases/download/5.5.3-2/MailScanner-5.5.3-2.rhel.noarch.rpm

rpm -ivh MailScanner-5.5.3-2.rhel.noarch.rpm

執行:
/usr/sbin/ms-configure

安裝過程會問一些問題,就是需要順便裝缺少的套件等等問題,除了上面已經裝的 sendmail 及 dovecot , 基本上其它都可以回答 " Y"

修改: vi /etc/MailScanner/MailScanner.conf

%org-name% = XXXX   <<<<公司簡稱, 注意必需與Spamassassin.conf 內的設置相同
%org-long-name% = XXXXXXXX   <<<<公司全稱
%web-site% = www.xxxxx.com         <<<< website

修改:  vi /etc/MailScanner/spamassassin.conf

envelope_sender_header X-YOURDOMAIN-COM-MailScanner-From

用MailScanner.conf 的 %org-name% 相同的名字代替 "YOURDOMAIN-COM" 這個十分重要,不可改錯!

systemctl start spamassassin           <<<啟動Spamassassin
systemctl enable spamassassin

spamassassin -D --lint                     <<<檢查Spamassassin

systemctl start MailScanner             <<<啟動 MailScanner
systemctl enable MailScanner

檢驗 MailScanner :
MailScanner --lint
如果沒有看到 "ERROR " ,就是完成了!

最後修改 /etc/MailScanner/defaults 設定run_mailscanner=1 才可以將服務啟動
run_mailscanner=1

最后, 停止 Sendmail , 讓MailScanner 啟動 Sendmail
systemctl stop sendmail
systemctl disable sendmail

應該正常啦? 但是嘗試發信竟然不行!!!

最后在MailScanner 網站才發現解決辦法, 根據其說法是Sendmail某些版本造成 (正在使用的Sendmail是 Sendmail-8.14.7-4,不知道是不是有關) --- postfix 似乎正常

細節可以在 https://www.mailscanner.info/sendmail/ 看看

跟著一步步做了:

# cd /var/spool
# ls -ld mqueue

drwxr-x--- 2 root bin 62976 Oct 23 16:18 mqueue

# mkdir mqueue.in
# chown root mqueue.in
# chgrp bin mqueue.in
# chmod u=rwx,g=rx,o-rwx mqueue.in
# ls -ld mqueue mqueue.in

drwxr-x--- 2 root bin 62976 Oct 23 16:18 mqueue
drwxr-x--- 2 root bin 41472 Oct 23 16:18 mqueue.in

下面抄自 www.mailscanner.info

Currently, your copy of sendmail will be started by a script such as /etc/init.d/mail or /etc/rc.d/init.d/sendmail. Somewhere in this script will be the command to start sendmail itself. This should look like this:

sendmail -bd -q15m 


You should change this to the following two lines:

sendmail -bd -OPrivacyOptions=noetrn -ODeliveryMode=queueonly -OQueueDirectory=/var/spool/mqueue.in


sendmail -q15m

This first starts the copy of sendmail that provides SMTP service, building the work queue for MailScanner. It then starts the copy of sendmail that delivers the output from MailScanner.

You also might need to change the commands used to shut down sendmail as it now needs to find 2 copies and kill them both. However, this is not critical and the system will work without it.

但是發現在 /etc/rc.d/init.d/sendmail 根本找不到" sendmail -bd -q15m " 這段, 只好試一試直接在終端機輸入, 結果竟然可以,原因不明白, 反正Server能工作. 期望一切正常!

------------------------------------------------------------------ 

如果是安裝Postfix,按下面部分設置:

%org-name% = XXX                               <<公司簡稱,別輸入輸入網域
%org-long-name% = xxx xxx xxx            
<<公司全稱
%web-site%= xxxx.com
Run As User = postfix
Run As Group = postfix
MTA = postfix
Virus Scanners = clamav
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin
Deliver Unparsable TNEF = yes

建立及修改權限:
mkdir /var/spool/MailScanner/spamassassin
chown postfix.postfix /var/spool/MailScanner/spamassassin
chown -R postfix.postfix /var/spool/MailScanner/incoming
chown -R postfix.postfix /var/spool/MailScanner/quarantine

開機啟動: vi /etc/MailScanner/defaults

run_mailscanner=1

修改postfix設置: vi /etc/postfix/main.cf

header_checks = regexp:/etc/postfix/header_checks

mailbox_command = /bin/procmail   <<< 這是為Procmail, 像是可有可無

vi /etc/postfix/header_checks , 增加下面這行 

/^Received:/ HOLD

啟動MailScanner:
systemctl enable MailScanner
systemctl restart MailScanner


-------------------------------------------------------------------

下面是OpenWebmail, 一個十分好用的郵件工具, 參照:

https://openwebmail.org/openwebmail/download/centos/el7/00.README.txt

 Install a Repository File for CentOS 7

 # yum install yum-utils
 # yum-config-manager --add-repo https://openwebmail.org/repo/el7/openwebmail-el7.repo

Install Open Webmail 2.54 for CentOS 7 
# yum install openwebmail


CentOS是最小化安裝的話,還要安裝 perl-CGI 及 gcc 才行

# yum -y install perl-CGI
# yum -y install gcc            
<<<< 如果開始沒有裝的話

# yum -y install openwebmail

安裝完成后,

# openwebmail-tool --init     <<<< 用openwebmail 配置工具

# openwebmail-tool --fix      <<<這個本來說是有問題才需要,但是發現基本上
每次都有問題,所以 做吧!

重啟 httpd service

# systemctl restart httpd

http://{{hostname}}/cgi-bin/openwebmail/openwebmail.pl

這個也太長了,所以,OpenWebMail做了簡化,把下面這段插入在httpd.conf 最后面

ScriptAlias /webmail "/var/www/cgi-bin/openwebmail/openwebmail.pl"

這樣只要輸入
http://hostname/webmail 就可以了

Ref. link :
https://openwebmail.org/openwebmail/download/centos/el7/00.README.txt
最后注意重新打開Firewall , 參考上面設置介紹
______________________________________________________________

DELL R710, 不想開機出現
"Strike the F1 key to continue, F2 to run the system setup program"
在BIOS將
"F1/F2 Prompt on Error" 這行設置"OFF" 就可以解決

------------------------------------------------------------------

增加新硬盤

 先用 df -h 看看目前硬碟的掛載狀況, 一般剛剛裝上去的新盤在這裡是看不到的,因為還沒開始分割, 然後可以用

 ls /dev/[sh]d* 

查看詳細情況,分清楚新舊盤

會有 /dev/sda  /dev/sda1  /dev/sdb  /dev/sdb1  /dev/sdc  等, 假設現在是 /dev/sdc

用 fdisk 確認: fdisk -l /dev/sdc

接著用fdisk 分割盤: fdisk /dev/sdc

進入fdisk , 有很多指令, 基本上就是幾個:

n : 分割新區

w: 保存

q: 退出

如果大於2T的磁盤將會用到 "g" 建立 "GPT"格式,  fdisk not support bigger then 2T disk

然後Format: 

mkfs -t ext4 /dev/sdc1 ( 第三段可以 ext3, ext4, xfs , dos ,...)

最後一步Mount ,有兩種, /dev/sdc1 或UUID, UUID 稍麻煩點,但是可以防止以後換盤或加盤開不了機:

mount -t ext4 /dev/sdc1 /mnt/sdc1 (先要 mkdir /mnt/sdc1)

vi fstab : 

 /dev/sdc1  /mnt/sdc1  etx4  default 0 0

Mount 指令

mount -t ext4 /dev/sdc1 /mnt/sdc1

如果 UUID

先用 blkid 查看sdc1的UUID

/dev/sda1: UUID="e3bee1c8-c3db-49b1-851a-37938685d298" TYPE="xfs"

/dev/sda1: UUID="9gzg3M-fr7j-ZBwH-LmT0-kbAk-7pn2-nuKB8w" TYPE="LVM2_member"

/dev/sdb1: UUID="27e2e181-1832-4061-8180-e3f5c52ea508" TYPE="ext4"

/dev/sdc1: UUID="e5e2e181-1832-4061-8180-e3f5c5ea7tdg" TYPE="ext4"

vi fstab : 

UUID=e5e2e181-1832-4061-8180-e3f5c5ea7tdg  /mnt/sdc1 etx4 defaults 0 0

Mount 指令

mount UUID=e5e2e181-1832-4061-8180-e3f5c5ea7tdg  /mnt/sdc1 etx4 default 0 0

2016年10月1日 星期六

使用 "Diskpart" 解決USB不能Format

必需小心, Format 后不容易返回

 今天8G USB driver 不能Format, 因為之前用來做Win7安裝盤, 需要使用“ diskpart" 這個工具:
1, 進入DOS , Run >> CMD >> Enter
2,  輸入" diskpart ” , 然后會問是不是同意執行軟件, 回答Yes
3,然后開始Diskpart
4,首先列出磁盤清單,避免出錯, 輸入list disk
5, 全部的磁盤會列于表上

6,選擇需要有問題的磁盤,例如這次是Disk 2, 輸入 “select disk 2 " , Enter (當然啦),軟件會告訴現在選擇了disk 2.

7, 然后,輸入 ” clean " , 按下Enter 確認,出現 “Disk Part Succeeded in cleaning ” ,就表示完成了


 最后,輸入"exit " 離開, 返回Window 再做Disk Format












2016年9月16日 星期五

解決 Windows 不能更新

剛剛在MBP15安裝了Win7,發現更新不能正常工作,上網看了一下:

  1. 進入WINDOWS服務(開始 → 電腦右鍵 → 管理 → 左邊最下面 “服務與應用程式” →點選右邊的「服務 」。
  2. 將Windows Update服務先停用
  3. 到C:\Windows\SoftwareDistribution\DataStore將裡面的檔案及資料夾刪除,或者將C:\Windows\SoftwareDistribution\內的全部刪除。
  4. 然后重新啟動Windows Update服務,重新做Windows Update , 應該可以了。


另外一個方法,到MS網站下載 安裝KB3087039這個更新,完成重新開機就可以:

https://www.microsoft.com/zh-TW/download/details.aspx?id=48950

這個方法似乎更有效


_______________________________________________________________________

另外, Win10 更新或者升級不了:   (錯誤代碼0xC1900101-0x20017)

首先打開系統的登錄編輯程式視窗找到
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\Applicability

然後修改這幾行內容:

將“BranchName”修改為“fbl_impressive”
將“ThresholdRiskLevel”修改為“low”
將“Ring”修改為“WIF”
將“ThresholdOptedin”(Dword值)改為“00000001”

完成之後,退出登錄編輯程式,再選擇以管理員身份運行命令提示視窗( CMD),執行如下幾個操作:

net stop wuauserv
net stop bits
net start bits

net start wuauserv

完成之後重啟系統應該可以了


2016年5月26日 星期四

如何讓 OpenOffice 自動保存為化MS office格式?



Openoffice是很好用的軟體,特別是像我們這樣的貧窮使用者,不過經常讓收件人投訴開不了因為對方使用的是微軟的Office, 如何OpenOffice總是保存為MSoffice格式?

打開軟體--這個當然
選擇“工具”>>> “選項”.
然後選擇“裝入/保存”,>> “一般”
選擇文檔類型
文本文檔 :  選擇 “Microsoft Word 97/2000/XP”
試算表選擇 “Microsoft Excel 97/2000/XP ”
演示文檔 : 選擇 “Microsoft PowerPoint 97/2000/XP”
進一步確定沒有錯誤就可以按下“確定”, 當然,如果您堅持抵制M$, 除了抗議外,也可以順著剛才的路走回去就可以啦!

2015年6月8日 星期一

使用fsck 修復磁片錯誤(Linux)

HD可能導致不能開機,可以使用fsck 修復磁片錯誤

fsck -F  清除緩衝, 這個很重要, 很多時間這個已經解決問題了

可能需要umount 將要檢查的區, 最後 fsck -a /dev/sd* 對每個盤檢查(如果不是SATA那改為hd)

fsckfile system check
用來檢查和維護不一致的檔案系統。若系統掉電或磁片發生問題,可利用fsck命令對檔案系統進行檢查, 使用Fsck命令也可以修復損壞的分區

輸入Root密碼登錄後採用:fsck -t ext3 -r /usr/local 修復

使用方式 : fsck [-sACVRP] [-t fstype] [–] [fsck-options] filesys […]
說明 : 檢查與修復 Linux 檔案系統,可以同時檢查一個或多個 Linux 檔案系統


下面是fsck的各種參數,不是經常使用

filesys : 磁片設備名稱(eg./dev/sda1),掛載(mount)點 (eg. / /usr)

-t : 給定檔案系統的型式,若在 /etc/fstab 中已有定義或 kernel 本身已支援的則不需加上此參數
-s : 依序一個一個地執行 fsck 的指令來檢查
-A : /etc/fstab 中所有列出來的 分區(partition)做檢查
-C : 顯示完整的檢查進度
-d : 列印出 e2fsck  debug 結果
-p : 同時有 -A 條件時,同時有多個 fsck 的檢查一起執行
-R : 同時有 -A 條件時,省略 / 不檢查
-V : 詳細顯示模式
-a : 如果檢查有錯則自動修復
-r : 如果檢查有錯則由使用者回答是否修復
-y : 選項指定檢測每個檔是自動輸入yes,在不確定那些是不正常的時候,可以執行 # fsck -y 全部檢查修復。

Tar Backup

記性不好, 需要記下linux的工作記錄: 

使用TAR备份: (例如 /team这个目录, 然后备份后的名字是team.tar.gz, 备份放在/mnt/backup) 

一般备份:
 tar -zcf /mnt/backup/team.tar.gz /team

增量备份:

首先执行完整备份
 tar -g snapshot /mnt/backup/team_full.tar.gz /team (留意需要增加 -g 及 snapshot )
 注意: 實際上并不一定使用"snapshot", 可以是任何的檔案名,例如“ home_snap”。 

然后设置增量备份 :
 tar -g snapshot -zcf /mnt/backup/team_incremental_1.tar.gz /team (增加incremental_x , x =1, 2 3,..等次数)
tar -g snapshot -zcf /mnt/backup/team_incremental_2.tar.gz /team
tar -g snapshot -zcf /mnt/backup/team_incremental_3.tar.gz /team

还原备份资料:
tar zxf /mnt/mackup/team_full.tar.gz
tar zxf /mnt/mackup/team_incremental_1.tar.gz
tar zxf /mnt/mackup/team_incremental_2.tar.gz
tar zxf /mnt/mackup/team_incremental_3.tar.gz

或者使用cd 到/mnt/backup目录执行还原

tar zxf team_full.tar.gz
tar zxf team_incremental_1.tar.gz
tar zxf team_incremental_2.tar.gz
tar zxf team_incremental_3.tar.gz

如果是设置Cornjob,由于路徑問題,需要移到相關目錄,這樣需要同时执行两个命令:
cd /var/home && tar -zcf aa.tar.gz cc.wav ( 加上&&), 这样可以首先cd到需要tar的档案或者目录的位置然后执行

部分Tar 指令

  -x         解开 .tar 格式的包文件

  -v         输出详细信息
  -f         表示使用归档文件
  -t         列表查看包内的文件
  -p        保持源文件的原来属性
  -P        保持源文件的绝对路径
  -C        建包或解包时进入指定的目录
  -z         调用gzip程序进行压缩或解压
  -j         调用bzip2程序进行压缩或解压
  -J         调用XZ程序进行压缩或解压
  -A        将归档文件追加到另一个归档文件中

2014年6月15日 星期日

負責任的做個工程師

新的產品從測試實驗室得知ESD(靜電保護)不能通過,需要換整流器插銷(成本需要增加及測試費用),,幸運的是似乎這樣修改已經可以解決但是令人遺憾的的是本來完全的可以避免的! 首先,設計上公司長期規定要求各種插銷必需向內伸5-8mm,, 從結果看對應去年的幾個產品實際上都做的很好,這個設計規則的好處可以節省開發時間(測試,修改,再測試...無休止的過程),而且減少生產線成本(不需要增加沒有必要的保護零件,工人加工成本....), 但是,因為工程師的工程師的思考上小偏移就帶來這種本來可以避免的麻煩及成本上升,實際上我相信開發人員可能并非黑心甚至是好意,但是,做為工程師,有些規則必需遵循就要遵循,不可有任何馬虎,同時,如果放下身份與其它同事溝通了解,完全可以避免這種無謂損失。 第二,試驗的重要性,為了令產品達到要求,公司盡量提供各種測試儀器,但是,測試工作如果不認真,給出來的報告與實際不相應,那就是 “坑人”的,測試結果是讓人做各種決定的參考資料,而決策者基與錯誤的報告做了決定,除了坑了決策者外還可能后患無窮,因為測試的目的就是因為某些性能不合格的話那產品會害人的,試想想,這與讓你吃地溝油的人有什么不同的,所以,務必杜絕這樣的作為,就如老人家說的“積德”。

 負責任的做個工程師, 負責任的做個人吧, 人在做,天在看哪! 各位專家們,世界之大非你我可以理解,不要再高高在上,自以為是,中國人有句話“天外有天,人外有人,” , 另外一句 “不恥下問人上人”,不要小看些不起眼的人物工作,其實世界就是由一點一滴的這些小人小事組合而來,很多事都是由這些簡單而不起眼的人物和其工作點石成金,簡單如清潔工人,如果沒有他們,那我們的環境會是什么樣,但是,對立的另一面,如果大家不守規則,亂丟垃圾,那咱們添匯跟初坑那條街會有什么不同的?

2014年1月21日 星期二

新產品發布

經過幾個月的努力,Internet Radio (RD1363) 總算開始出貨了,基本上這是添匯的第三個比較成功的設計,也是第一個彩色顯示的產品,工程師從無到有開發過程,聲音的調試,外觀的配搭,是付出也是學習,希望有份參加的同事能夠體會到,而客戶的欣賞應該是最好的贊禮。

 YUM ( or DNF) upgrade PHP  listed running PHP version yum list installed |grep PHP Remove the old version yum remove php* Then install the ...