- 安裝OS 若是使用雲端AWS或AZure 或Google Platform Cloud, 則在instant映象檔more裡找看看是否有centos7.如果要在本機跟Hyper-V安裝, 取得Centos 7 光碟ISO檔: (選DVD ISO), mini DVD功能較少,DVD裡也可以選mini安裝. 官網下載: https://www.centos.org/download/CentOS基本不會用ROOT來直接操作, 建議另外建一個Admin然後設給他管理權限, 這樣子管理上安全性比較高. 平時都用Admin的密碼登入. 需要ROOT權限時, 再輸入su 換到root,再輸入密碼.
以下 nmtui & ip addr list 可以換順序, 依您實際網路情形操作
[user]# ip addr list <-取得主機的IP位址, 供putty連線進入用 [user]# nmtui 出現網路設定(文字模式) [user]# systemctl restart network 重啟網卡(設定網路後一定要做) [user]# yum update <-更新所有套件
- 安裝套件指令語法 AWS的centos 預設登入是用centos , 登入密碼同 .ppk設的, 執行指令若遇到權限不足時, 請下 : # sudo su , 即可切到root使用者.
- RPM <–舊安裝指令,不會自動安裝相依性套件
- YUM <–在套件名後加*會自動檢查並安裝相關套件, 很好用如:# yum install httpd*如:# yum install sendmail*
- # yum check-update <-有哪些套件需要更新
- # yum update <-更新所有套件
- # yum remove 套件名, 移除套件
- # yum clean 套件名 , 清除套件相關檔案及目錄
- # wget 下載檔案, 若無法執行wget就下 : yum install wget
- 文書編輯指令語法[user]# vi 檔名
- :wq 寫入並跳出
- :q 跳出
- :q! 強制跳出
- 安裝Apache (httpd)
# yum install httpd # systemctl start httpd # systemctl enable httpd # firewall-cmd --add-port=80/tcp --permanent # firewall-cmd --reload
- 安裝VSFTP輸入以下指令
# yum install vsftpd <-安裝FTP # systemctl start vsftpd <-啟用 # systemctl enable vsftpd <-設成開機服務自動啟用
開防火牆 20,21 埠
# firewall-cmd --add-port=21/tcp --permanent # firewall-cmd --add-port=20/tcp --permanent # firewall-cmd --permanent --add-service=ftp # firewall-cmd --reload ============================================================= 若要更改21 port 到 2121 =>修改vi /etc/vsftpd/vsftpd.conf 新增一行 listen_port=2121 =>重啟 system restart vsftpd =>開防火牆 如下二行 #firewall-cmd --add-port=2121/tpc --permanent #firewall-cmd --reload 修改根目錄
先建一組網站使用者(ftps) 跟家目錄 (/home/ftps)
# echo /usr/sbin/nologin >> /etc/shells <--允許 FTP 登入的 shell 版本
# useradd -d /home/ftps -s /usr/sbin/nologin -m ftps
刪除不必要的預設檔案
# rm -f /home/ftps/.[a-z]*
變更 ftps 的權限, 因為VSFTP的chroot目錄不允寫入, 所以要改成rx
# chmod a=rx /home/ftps
建立一個子目錄, 可以供使用者上傳用的, 可以寫入
# mkdir /home/ftps/html
把 ftps 設成 /home/ftpsd/html 擁有者
# chown ftps.ftps /home/ftps/html # chmod g+ws /home/ftps/html 同群組有ws權限
以上ftps 群組己有FTP 目錄 /home/ftps 的權限
接下來建一個user供filezilla登入用
# useradd -d /home/ftps -s /usr/sbin/nologin user1 # passwd user1 (設密碼) # usermod -a -G ftps user1 (把user1加入ftps群組,若要移除=> # usermod -G user1 user1)
修改user1預設的家目錄
# usermod -d /home/ftps user1
最後修改vsftp的設定檔, 並重啟vsftpd
# vi /etc/vsftpd/vsftpd.conf
修改如下
anonymous_enable=YES 改成 NO
local_enable=YES <–取消#註解
write_enable=YES <–取消#註解
local_umask=022 <–取消#註解
chroot_local_user=YES <–取消#註解
:wq 儲存離開, 重啟vsfptd
# systemctl restart vsftpd
最後, 把httpd的目錄連結到ftpd我們建立的上述/ftps/html/目錄
#rm -R /var/www/html (若/var/www/html己存在,請先# rm -R /var/www/html 刪子目錄) #ln -s /home/ftps/html /var/www
最後, 記得還有一個關卡 SElinux 安全性設定, 這個可讓小編查了好久, 會導致filezilla軟體無法連線成功。
在瀏覽器一直出現你沒有權限存取 /index.html. 設好就OK了
可以先下以下二個指令暫時開關SElinux , 試不試因為SElinux影响結果.
# setenforce 0 關
# setenforce 1 開
可以先下 getsebool -a | grep ftp 來看看SELINUX 對FTP的限制 -
# chcon -R -t httpd_sys_content_t /home/ftps/html (針對http 403) 如果 VSFTPD被SElinux擋住, 導致filezilla無法寫入則加下例
# setsebool -P ftpd_full_access 1 # setsebool ftpd_connect_all_unreserved 1
大功告成~
若filezillza登入出現 530
1、查看/etc/ftpusers ,确保账号没有在这个文件内。
2、修改/etc/pam.d/vsftpd
将auth required pam_shells.so修改为->auth required pam_nologin.so 或者将auth required pam_shells.so注释
3、重启vsftpd - 安裝 Mariadb (取代Mysql, 功能跟Mysql一模一樣)
sudo yum install mariadb-server mariadb sudo systemctl start mariadb.service sudo systemctl enable mariadb.service
--------------------------------------------------------------- 登入mysql 下指令:# mysql -u root -p 然後會看到類似 “MariaDB [(none)]>”, 輸入以下指令修改root密碼: use mysql; update user set password=PASSWORD(“new_password”) where User=’root’; flush privileges; quit 狀況一: 如果第一次登入mysql出現 Access denied for user 'root'@'localhost' (using password: NO) 則做以下步驟: 1.停止 MySQL 服務。 # sudo systemctl stop mysqld 2.加入自訂環境變數,暫時不檢查權限。# sudo systemctl set-environment MYSQLD_OPTS="--skip-grant-tables" 3.啟動 MySQL 服務。# sudo systemctl start mysqld 4.免密碼直接登入 # MySQL。mysql -u root 5.更新 root 的新密碼,這邊是用 P@ssw0rd,別忘了修改成自訂密碼。 UPDATE mysql.user SET authentication_string = PASSWORD('P@ssw0rd') WHERE User = 'root' AND Host = 'localhost'; 6.重新載入權限。# flush privileges; 7.退出 MySQL。# quit -------------------------------------------------------------------- 然後再重新啟動mysql並登入root , 如下: 1.停止 MySQL 服務。 # sudo systemctl stop mysqld 2.取消自訂環境變數。 # sudo systemctl unset-environment MYSQLD_OPTS 3.啟動 MySQL 服務。 # sudo systemctl start mysqld 4.這樣子就可以正常登入了。# mysql -u root -p 出現 mysql> 就表示登入mysql 的 root 帳號成功. -------------------------------------------------------------------- 最後, 我們再加強一下mysql的安全性設定, 下指令# mysql_secure_installation ......... Remove anonymous users? Y Disallow root login remotely? N Remove test database and access to it ? Y Reload privilege tables now? Y !!收工
- 安裝PHP7.3 (單獨安裝PHP)先下載套件 epel (centos7版本)
#yum install epel-release
#rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
#yum --enablerepo=remi-php73 install php
#yum –enablerepo=remi-php73 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-mysql
#php -v
- 開防火牆
-
# sudo firewall-cmd --permanent --zone=public --add-service=http # sudo firewall-cmd --permanent --zone=public --add-service=https # sudo firewall-cmd --reload
最後記得# sudo systemctl restart httpd ,即完成
驗證版本 php -v
PHP連遠端mysql DB., 若php出現 權限不足, 請開防火牆
getsebool -a | grep httpd
查目前設定值
setsebool httpd_can_network_connect_db 1 重開機就要重來
setsebool -P httpd_can_network_connect_db 1 加-P 重開機會保留
ZIP 壓縮/解壓縮
1.安裝zip /unzip
# yum install zip unzip
2.把 htdocs/* 所有檔案及目錄製成 myfile.zip , -r是含目錄 -x是排除檔案
# zip -r myfile.zip htdocs/* -x “htdocs/main/wp-content/updraft/*"
3.將檔案解壓縮
# unzip myfile.zip
安裝SSL服務
先下載及安裝
# yum -y install httpd mod_ssl
安裝好後, 會在 /etc/httpd/conf.d/裡多一個 ssl.conf , 修改裡面憑證檔路徑
#vi /etc/httpd/conf.d/ssl.conf
…………….
DocumentRoot “/var/www/html"
ServerName http://www.yourdomain.com:443
……….中間略過不動
SSLCertificateFile /etc/pki/tls/certs/你的憑證.crt
SSLCertificateKeyFile /etc/pki/tls/private/您的.key
……………….
最後下: wq 存檔後, 重啟httpd即可
#systemctl restart httpd
最後記得把firewallD的 443port打開即可,可參考前述ftp 21 port…
One comment