2018年10月24日 星期三

CentOS 7 架Web站紀錄

設定IP

vi /etc/sysconfig/network-scripts/ifcfg-eth0

# 啟動網路介面
ifup eth0

# 停用網路介面
ifdown eth0

安裝 SSH

安裝SSH服務必要軟體
# sudo yum install openssh openssh-server

編輯SSH設定檔
# sudo vi /etc/ssh/sshd_config

搜尋Port 22
Port可以改成任一個大於1023的號碼

搜尋AllowUsers
修改後面的帳號,可以設定僅允許這些使用者帳號用SSH登入

AllowUsers 帳號1 帳號2 帳號3

搜尋PermitRootLogin
設定不允許root使用SSH登入
(預設是yes)
# Authentication:
PermitRootLogin no


重新啟動SSH服務
# sudo systemctl restart sshd.service

設定開機啟動SSH服務
# sudo systemctl enable sshd.service

設定防火牆允許此port
若為非預設記得自行更改–add-port=你的port號/tcp

# sudo firewall-cmd --permanent --zone=public --add-port=22/tcp

重新載入防火牆設定
# sudo firewall-cmd --reload

怎麼測試?
格式:登入帳號@IP或主機名稱
指令:-p SSH服務Port號
# ssh -p 22 andy@192.168.1.100


安裝PHP (PHP 5.4.16 )
yum install php

看php版本的指令
php -v

安裝GD函式庫
yum install php-gd

php設定筆記可參考
http://sou-wei.blogspot.com/2017/09/php.html

安裝 appache
1. yum install httpd -y

2.設定 apache 設定檔
vi /etc/httpd/conf/httpd.conf

<Directory "/var/www/html">
      #Options Indexes FollowSymLinks
        Options FollowSymLinks <==拿掉 Indexes,當找不到index.html時,不顯示整個目錄下的檔案
        AllowOverride None
        Order allow,deny
        Allow from all
 </Directory>

3. 輸入 「systemctl start httpd.service」指令啟動 Apache 網頁伺服器

4. 輸入 「systemctl enable httpd.service」安裝服務 (設定為開機自動啟動)

5.輸入 「firewall-cmd --permanent --add-service=http」指令設定防火牆,開放 http port 讓別人可以連接到這台網頁伺服器

6.輸入 「firewall-cmd --reload」重新載入防火牆設定

7. 網站目錄 /var/www/html


更新 appache 至2.4.56

查看yum repo內的apache版本

# yum info httpd
顯示2.4.6

安裝CodeIT 套件庫並更新

# cd /etc/yum.repos.d && wget https://repo.codeit.guru/codeit.el`rpm -q --qf "%{VERSION}" $(rpm -q --whatprovides redhat-release)`.repo
# yum install httpd
# systemctl restart httpd
完成檢查目前是2.4.56

$ httpd -v
Server version: Apache/2.4.56 (codeit)
Server built:   Mar  8 2023 08:23:16

之後會產生一些問題,問題解決紀錄:

安裝 vsftpd
1. 安裝 vsftpd:
# yum -y install vsftpd
# touch /etc/vsftpd/chroot_list
# systemctl enable vsftpd.service (設定為開機自動啟動)
# systemctl restart vsftpd (重新啟動的指令)

# firewall-cmd --permanent --zone=public --add-service=ftp (加入防火牆規則)
# firewall-cmd --reload (重新載入防火牆設定)

3. 編輯 "/etc/vsftpd/vsftpd.conf"
# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES → anonymous_enable=NO


修改預設目錄的方法

開啟vsftpd的設定檔/etc/vsftpd/vsftpd.conf
加入user_config_dir=/etc/vsftpd/vsftpd_user_conf這一行
指定使用者的設定檔目錄所在位置

接著,在/etc/vsftpd/下設立vsftpd_user_conf這個目錄
在該目錄內設立一個空白檔案,檔名為使用者名稱


在該檔案中加入一行local_root=(我想指定的目錄位置)


出現錯誤:500 OOPS: cannot change directory:/home/user
這是因為SELinux關閉了ftp的功能
所以可以直接關閉SELinux,在終端機輸入
vim /etc/selinux/config

找到
SELINUX=enforcing
改成
SELINUX=disabled
就關掉selinux了,接著要輸入
setenforce 0
關掉SELinux的設定才會生效

接著再重新啟動server就可以了
# systemctl restart vsftpd (重新啟動的指令)


限制用戶只能在家目錄 (/etc/vsftpd/chroot_list 的用戶可不受限制)
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
如要 ftp 的檔案列表可以看到跟 Server 上同樣的時間,請在檔案加入:
# 使用本地時區

use_localtime=YES


安裝 MySQL
1.取得安裝包
# wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
# rpm -ivh mysql-community-release-el6-5.noarch.rpm

2.檢查是否有可安裝的程式
# yum repolist all | grep mysql

3.安裝Mysql
# yum install mysql-community-server

4.啟動Mysql
# service mysqld start

5.登入Mysql並設定root密碼
# mysql -u root
# use mysql;
# update user set password=PASSWORD("root的密碼") where User='root';


# (選擇性設定)(讓root 可以透過任意IP連入)
update mysql.user set host = '%' where user = 'root';


6.開機自動啟動MySql
systemctl enable mysqld.service

7.Mysql安全設置
# mysql_secure_installation

8.完成 mysql_secure_installation 的問題後, 重新啟動 MySQL:

systemctl restart mysqld.service

嘗試連線 MySQL:
# mysql -u root -p
如果可以連接 MySQL 便安裝完成了。

離開 mysql>
指令: \q


防火牆的查詢與設定

查詢  # firewall-cmd --query-port=3306/tcp
開啟 # firewall-cmd --zone=public --add-port=3306/tcp --permanent
關閉 # firewall-cmd --zone=public --remove-port=3306/tcp --permanent
重啟 # firewall-cmd --reload

安裝 phpMyAdmin


錯誤訊息
The mbstring extension is missing. Please check your PHP configuration
yum install php-mbstring .
再 service httpd restart

錯誤訊息
缺少 mysqli 擴充套件。請檢查 PHP 設定
yum install php-mysql .
再 service httpd restart


#1045 無法登入MySQL 伺服器
# mysql
mysql>use mysql
mysql>update user set password=password("1234") where user="root";
mysql>flush privileges;

mysql>exit


安裝 Samba

1.用yum安裝套件
# yum install samba samba-client samba-common -y

2.設定
# vim /etc/samba/smb.conf

範例
[chocho]
       comment    = chocho
       path       = /samba_ggps/data/chocho
       browseable = yes
       writable = yes
       write list = chocho
       create mode    = 0770
       directory mode = 0770
       valid users = chocho
(valid users 很重要,之前忘記設定,進不去)

3.啟動
# systemctl start smb.service
# systemctl start nmb.service

4.開機自動載入 Samba

# systemctl enable smb.service

5.防火牆設定
# firewall-cmd --permanent --zone=public --add-service=samba
# firewall-cmd --reload


設定虛擬磁碟(掛載資料夾)

※掛載資料夾 前面是實體目錄  後面是虛擬目錄 (點後方目錄會連結到前方目錄)
mount --bind /home/chocho_server/samba /chocho_server/samba

※開機自動掛載 (在 /etc/fstab 中加入以下這行)

/home/chocho_server/samba /chocho_server/samba none defaults,bind 0 0


記錄檔的存放位置(刪除過大的紀錄檔)

系統錯誤的log檔存放位置

/var/log/httpd //appache伺服器

修改開機選單
1.查看目前系統上有幾個開機選單

grep "^menuentry" /boot/grub2/grub.cfg |cut -d "'" -f2

2.修改開機選單

vi /boot/grub2/grub.cfg


修改系統時間
# 檢查目前系統時區狀態
[root@test01 ~]# timedatectl
      Local time: Thu 2019-06-27 10:41:44 CST
  Universal time: Thu 2019-06-27 02:41:44 UTC
        RTC time: Thu 2019-06-27 02:41:43
       Time zone: Asia/Taipei (CST, +0800)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

# 若要變更時區,首先列出所有的時區
timedatectl list-timezones

# 指定系統時區
timedatectl set-timezone Asia/Taipei

# 安裝 ntpdate
yum -y install ntp

# 校正時間
ntpdate time.stdtime.gov.tw

沒有留言:

張貼留言