取得 CentOS 7
選 Minimal ISO 下載即可,下載後是燒光碟還是 USB 就要看安裝主機的支援程度。
--
安裝及基礎設定
網路
查看 IP ,minimal 沒有 ifconfig 只有 ip
1 |
ip a |
修改設定啟用網路卡
1 |
vi /etc/sysconfig/network-scripts/ifcfg-enp3s0 |
1 |
ONBOOT=yes |
重新啟動網路服務
1 |
sudo systemctl restart network |
安裝 ifconfig, netstat
1 |
sudo yum install net-tools |
--
固定 IP
編輯網路卡設定 /etc/sysconfig/network-scripts/ifcfg-enp3s0
1 |
vi /etc/sysconfig/network-scripts/ifcfg-enp3s0 |
1 2 3 4 5 |
BOOTPROTO=static IPADDR=192.168.0.191 NETMASK=255.255.255.0 GATEWAY=192.168.0.1 DNS1=8.8.8.8 |
重新啟動網路服務
1 |
systemctl restart network |
--
設定主機名稱 hostname
最小化安裝不會主動設置 hostname ,不設置很多服務是跑不起來的
1 2 3 |
vi /etc/hosts 192.168.0.3 myserver |
或是使用 hostnamectl 指令
1 |
hostnamectl set-hostname MyHostName |
--
安裝 PHP 7 + Apache 2.4 + MySQL 5.6
安裝 epel
1 2 |
yum install epel-release rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm |
安裝 PHP 就會一併安裝 Apache 2.4
1 2 3 |
yum install php70w yum install php70w-mysql php70w-xml php70w-soap php70w-xmlrpc yum install php70w-mbstring php70w-json php70w-gd php70w-mcrypt |
設定 PHP
1 2 3 |
vi /etc/php.ini upload_max_filesize = 2000M |
設定 Apache 2.4 HTTP Server
1 2 3 4 5 |
systemctl start httpd.service systemctl enable httpd.service firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --permanent --zone=public --add-service=https firewall-cmd --reload |
安裝 MySQL Server
hoyo 不推薦使用 MariaDB ,雖然 MariaDB 是 MySQL 的分支,可是「並不是完全相容」,現階段 (2017-03) hoyo 還不會使用 MariaDB 當作主資料庫
1 2 3 4 |
# rpm -Uvh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm # yum install -y mysql-server # systemctl start mysqld.service # systemctl enable mysqld.service |
變更 root 密碼及移除預設資料
1 |
mysql_secure_installation |
--
MySQL
修改 root 密碼
1 2 |
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root'; FLUSH PRIVILEGES; |
修改 /etc/mycnf 設定
1 2 3 4 5 |
vi /etc/my.cnf [mysqld] bind-address = 0.0.0.0 sql_mode= |
- bind-address 常駐 IP,預設常駐 any 可能運作在 IPv6,如果需要運作在 IPv4 就需要手動修改
- sql_mode 如果需要移植舊程式
重新啟動 MySQL Server
1 |
systemctl restart mysql |
修改防火橋
1 2 |
firewall-cmd --permanent --zone=public --add-service=mysql firewall-cmd --reload |
--
安裝 phpMyAdmin
4.4 版本使用這個
1 |
yum install phpmyadmin |
新版 4.7 以上使用這個
1 2 3 |
yum remove php-mysql yum install php-mysqlnd yum --enablerepo=remi install phpMyAdmin |
將允許進入 IP 加入設定檔,編輯
1 2 3 |
vi /etc/httpd/conf.d/phpMyAdmin.conf Require ip 192.168.0.0/24 |
重新啟動 Apache
1 |
systemctl restart httpd.service |
如果需要修改 phpMyAdmin ,設定檔在 /etc/phpMyAdmin/config.inc.php
例如:需要延長閒置時間以及不檢查版本
1 2 3 4 5 |
vi /etc/phpMyAdmin/config.inc.php $cfg['VersionCheck'] = false; // 不檢查新版本 $cfg['LoginCookieValidity'] = 86400; // 將閒置時間設定為 86400 秒 (1440) $cfg['MaxNavigationItems'] = 100; // 導覽樹分支數量設定 100 (50) |
--
安裝 DNS Server - Bind
1 |
yum install bind |
修改設定檔
1 2 3 4 5 6 7 8 9 10 11 12 |
vi /etc/named.conf options { listen-on port 53 { 127.0.0.1; 192.168.0.3; }; allow-query { any; }; // 自己管理 DNS Server 所以必須開放查詢 recursion no; }; zone "hoyo.idv.tw" in { type master; file "/etc/named/hoyo.idv.tw.db"; }; |
重新啟動 named service 以及設定開機啟動
1 2 |
systemctl enable named systemctl start named.service |
開放防火牆
1 2 |
firewall-cmd --permanent --zone=public --add-service=dns firewall-cmd --reload |
--
關閉 SELinux
1 |
vi /etc/selinux/config |
1 2 |
SELINUX=disabled #SELINUXTYPE=targeted |
重新開機
--
關閉防火牆
1 2 |
# systemctl stop firewalld # systemctl disable firewalld |
--
安裝 Samba
1 2 3 4 5 |
yum install samba systemctl enable smb systemctl restart smb firewall-cmd --permanent --zone=public --add-service=samba firewall-cmd --reload |
1 2 |
useradd user smbpasswd -a user |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
vi /etc/samba/smb.conf [global] workgroup = SAMBA security = user hosts allow = 192.168.0. passdb backend = tdbsam # Charset settings display charset = utf8 unix charset = utf8 dos charset = cp950 [homes] comment = Home Directories valid users = %S, %D%w%S browseable = No read only = No inherit acls = Yes [root] comment = Home Directories browseable = yes writable = yes path = / |
--
從舊的主機複製資料
因為都有安裝 samba ,所以思路就是將複製的資料掛載到目的主機,然後進行複製
1 2 |
yum install cifs-utils mount.cifs //192.168.0.3/root /mnt/web -o user=user |
--
每日備份
backup.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#!/bin/bash filename=`date "+%w"` mysqldump --user=root -p'password' --all-databases > /tmp/db$filename.sql tar czf /tmp/web$filename.tgz /WEBSite/* ftp -n 192.168.0.99<< co user backup backup cd backup lcd /tmp put web$filename.tgz put db$filename.sql by co |
就如文章內所說,可以從 FreeBSD 用到 Linux ,只要修改第一行 shell 以及指令相關路徑即可運作,不過 minimal CentOS 7 沒有 ftp command ,所以運作前需要補一個
1 |
yum install -y ftp |
--
安裝 FFmpeg
1 2 |
rpm -ivh https://www.mirrorservice.org/sites/dl.atrpms.net/el7-x86_64/atrpms/stable/atrpms-repo-7-7.el7.x86_64.rpm yum install ffmpeg |
--
安裝新硬碟
先使用 fdisk 分割硬碟
1 |
fdisk /dev/sdb |
然後使用 mkfs.xfs 指令格式化硬碟
1 |
mkfs.xfs -f /dev/sdb1 |
建立掛載的目錄
1 |
mkdir /WEBSite |
將新硬碟掛載到目錄上
1 |
mount -t xfs /dev/sdb1 /WEBSite |
使用 df 指令驗證正確性
1 2 3 4 |
df -TH /WEBSite 檔案系統 類型 容量 已用 可用 已用% 掛載點 /dev/sdb1 xfs 2.0T 34M 2.0T 1% /WEBSite |
--
上、下鍵搜尋指令
1 2 3 4 5 6 |
vi ~/.inputrc # Press up-arrow for previous matching command "\e[A":history-search-backward # Press down-arrow for next matching command "\e[B":history-search-forward |
--
相簿處理相關套件
exiv2
1 |
yum install exiv2 |
ImageMagick
1 |
yum install ImageMagick |
dcraw
1 |
yum install dcraw |
--
資料還原
1 |
mysql -u root -p'資料庫密碼' --force < AllDatabase.sql |
--
安裝 Killall
1 |
yum install psmisc |
--
安裝 whois
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# yum install jwhois # whois hoyo.idv.tw [查詢 whois.twnic.net.tw] [whois.twnic.net.tw] Domain Name: hoyo.idv.tw Contact: hoyo pc@hoyo.idv.tw Record expires on 2021-06-07 (YYYY-MM-DD) Record created on 2000-12-01 (YYYY-MM-DD) Registration Service Provider: TWNIC |
--
3,797 total views, 1 views today