選擇最小安裝,這可以避免造成不必的沖突,特別是硬件,而且節省時間
需要GUI的話:
安裝后先把防火墻停止,安裝完成才重新確認那些Port需要打開:
停止 firewalld:
systemctl stop firewalld.service <<<停止firewallsystemctl 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 編譯
當一切安裝設置好了必需開啟Firewall, 下面如何用GUI 設置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,但是還是用新的吧!--------------------------------------------------------------------------------------------------------
Apache Server
注意: 因為 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_file=/etc/vsftpd/user_list
#openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout
/etc/ssl/private/vsftpd.pem -out /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
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用戶可以離開
|
|
systemctl start vsftpd
systemctl enable vsftpd
cat /etc/passwd | grep ftp
------------------------------------------------------------------------------------------------------------
MySql (MariaDB)
https://mariadb.com/resources/blog/installing-mariadb-10-centos-7-rhel-7
Download Link:
https://downloads.mariadb.org/mariadb/repositories/#mirror=tuna
Install Mariadb
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=1yum or dnf install:
systemctl start mariadb
進入安全設置:
mariadb-secure-installation )接著詢問root 的 password, 直接按Enter, 因為剛裝的MariaDB是沒有Password , 然后計算方法會詢問是不是添加 root 的 password , 回答者"Y",重復兩次填寫密碼, 之后的其它項目就全部回答 "Y" 就可以了.
然后重啟,
systemctl restart mariadb
MariaDB 算是完成了
Backup and Restore database
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:
first, prepare for restore:
mariabackup --prepare --target-dir=/mariadb/fullbackup/
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
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
----------------------------------------------------------------------------------------------------------------------------------------------
安裝 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 enable saslauthd
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
安裝及設置dovecot:
yum install dovecot
修改 /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
( 注意: 如果前面沒有建立自己的證書和密鑰而是選擇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 dovecotsystemctl enable dovecot 如果出現: Can't open PID file /var/run/dovecot/master.pid (yet?),.......
執行以下指令
chown root:dovecot /var/run/dovecot
chmod 755 /var/run/dovecot
更改權限 : 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文件:
啟動 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 自己定期更新,
更新好了就可以試一試掃描:
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)
如果沒有什么錯誤那就是成功啦!
# 升级 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
升級GLIBC為glibc-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
再將必要套件裝上
yum -y install \perl-Archive-Zip \
perl-DBI \
perl-DBD-SQLite \
perl-OLE-Storage_Lite \
perl-Sys-SigAction \
perl-MIME-tools
最好到 https://www.mailscanner.info/downloads/ 查詢看看最新版本
cd /root/Desktop <<<<<這個位置隨意
wget
安裝過程會問一些問題,就是需要順便裝缺少的套件等等問題,除了上面已經裝的 sendmail 及 dovecot , 基本上其它都可以回答 " Y"
修改: vi /etc/MailScanner/MailScanner.conf
%org-name% = XXXX <<<<公司簡稱, 注意必需與Spamassassin.conf 內的設置相同
%org-long-name% = XXXXXXXX <<<<公司全稱
%web-site% = www.xxxxx.com <<<< website
envelope_sender_header X-YOURDOMAIN-COM-MailScanner-From
用MailScanner.conf 的 %org-name% 相同的名字代替 "YOURDOMAIN-COM" 這個十分重要,不可改錯!
systemctl start spamassassin <<<啟動Spamassassin
systemctl enable spamassassin
systemctl start MailScanner <<<啟動 MailScanner
systemctl enable MailScanner
檢驗 MailScanner :
MailScanner --lint
如果沒有看到 "ERROR " ,就是完成了!
最後修改 /etc/MailScanner/defaults 設定run_mailscanner=1 才可以將服務啟動
run_mailscanner=1
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.txtInstall a Repository File for CentOS 7
安裝完成后,
# 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 就可以了
最后注意重新打開Firewall , 參考上面設置介紹
______________________________________________________________
DELL R710, 不想開機出現
"Strike the F1 key to continue, F2 to run the system setup program"
在BIOS將
"F1/F2 Prompt on Error" 這行設置"OFF" 就可以解決
------------------------------------------------------------------
增加新硬盤
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"
Mount 指令
mount UUID=e5e2e181-1832-4061-8180-e3f5c5ea7tdg /mnt/sdc1 etx4 default 0 0