一、配置環境LANMP(apache+php7+mysql)
安裝apache
1.安裝 yum -y install httpd
2.開啟apache服務 systemctl start httpd.service
3.設置apache服務開機啟動 systemctl enable httpd.service
使用公網訪問能看到apache就說明安裝成功
安裝php7
1.安裝php7
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
2. 通過雲進行php和其他組件的安裝
yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64
yum install php70w-fpm
安裝mysql
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
查看
yum repolist enabled | grep "mysql.*-community.*"
安裝mysql
yum -y install mysql-community-server
開機啟動
systemctl enable mysqld
啟動mysql服務
systemctl start mysqld
(如果重新啟動mysql服務沒反應就刪除安裝包以及關於mysql所有的文件,重新安裝mysql,因為有文件沒有配置好)
如果提示依賴包錯誤,可以嘗試以下命令刪除:
rpm -e 文件名 --nodeps
刪除mysql文件 find / -name mysql 查詢后rm -rf 文件名
遠程訪問
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyPassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
不知道數據庫密碼
1.編輯文件
vi /etc/my.cnf
2.找到以下內容,並填寫skip-grant-tables ,保存 :wq 並退出,重啟數據庫(systemctl start mysqld),就可以免密碼登錄了!
[
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyPassword' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
5.切記關閉防火牆,雲端開啟3306端口,然后本地命令訪問數據庫和遠程訪問數據庫
進入數據庫:mysql -u用戶名 -p密碼
遠程:
二、配置FTP(多個用戶權限)(橙色字體為配置多個用戶賬號步驟)
1、FTP安裝
#安裝
yum install -y vsftpd
#設置開機啟動
systemctl enable vsftpd.service
#啟動
systemctl start vsftpd.service
#停止
systemctl stop vsftpd.service
#查看狀態
systemctl status vsftpd.service
2、配置FTP
#打開配置文件 vim /etc/vsftpd/vsftpd.conf #顯示行號 :set number #修改配置 12 行 anonymous_enable=NO #修改配置 33 行 anon_mkdir_write_enable=YES #修改配置48行 chown_uploads=YES #修改配置72行 async_abor_enable=YES #修改配置82行 ascii_upload_enable=YES #修改配置83行 ascii_download_enable=YES #修改配置86行 ftpd_banner=Welcome to blah FTP service.
#修改配置100行
chroot_local_user=YES #添加下列內容到vsftpd.conf末尾 use_localtime=YES listen_port=21 idle_session_timeout=300 guest_enable=YES guest_username=vsftpd user_config_dir=/etc/vsftpd/vconf data_connection_timeout=1 virtual_use_local_privs=YES pasv_min_port=40000 pasv_max_port=40010 accept_timeout=5 connect_timeout=1
allow_writeable_chroot=YES
3、建立用戶文件
#創建編輯用戶文件
vim /etc/vsftpd/virtusers
#第一行為用戶名,第二行為密碼。不能使用root作為用戶名
leo
12345
test
test123
4、生成用戶數據文件
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db #設定PAM驗證文件,並指定對虛擬用戶數據庫文件進行讀取 chmod 600 /etc/vsftpd/virtusers.db
5、修改/etc/pam.d/vsftpd文件
# 修改前先備份 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak vi /etc/pam.d/vsftpd
#先將配置文件中原有的 auth 及 account 的所有配置行均注釋掉
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
# 如果系統為32位,上面改為lib
6.新建系統用戶vsftpd,用戶目錄為/home/vsftpd
#用戶登錄終端設為/bin/false(即:使之不能登錄系統) useradd vsftpd -d /home/vsftpd -s /bin/false chown -R vsftpd:vsftpd /home/vsftpd
7、建立虛擬用戶個人配置
mkdir /etc/vsftpd/vconf cd /etc/vsftpd/vconf #這里建立虛擬用戶leo配置文件 touch leo 或者 (touch test)
#編輯leo用戶配置文件,內容如下,其他用戶類似 vi leo 或者 (vi test) local_root=/home/vsftpd/leo/ 或者 local_root=自己想要放置的目錄 write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
#建立leo用戶根目錄 mkdir -p /home/vsftpd/leo/ (自己想要放置的目錄)
(#增加用戶username的根目錄所有者為之前創建的vsftpd
chown -R vsftpd:vsftpd 自己想要放置的目錄
chmod -R 777 自己想要放置的目錄)
8、防火牆設置
IPtables 的設置方式:
vi /etc/sysconfig/iptables #編輯iptables文件,添加如下內容,開啟21端口 -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 40000:40010 -j ACCEPT
firewall 的設置方式:
firewall-cmd --zone=public --add-service=ftp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=40000-40010/tcp --permanent
9、重啟vsftpd服務器
systemctl restart vsftpd.service
10、使用FTP工具連接測試
這個時候,使用ftp的工具連接時,我們發現是可以連接的。傳輸文件的時候,會發現文件上傳和下載都會出現
500、503 、200等問題。這個時候,可以進行以下操作:
方式一、關閉SELINUX
#打開SELINUX配置文件 vim /etc/selinux/config #修改配置參數 #注釋 SELINUX=enforcing #增加 SELINUX=disabled #修改完成后,需要重啟!
方式二、修改SELINUX
setenforce 0 #暫時讓SELinux進入Permissive模式 #列出與ftp相關的設置 getsebool -a|grep ftp #以下是顯示出來的權限,off是關閉權限,on是打開權限。不同的機器顯示的可能不一樣。我看了我的顯示的,和網上其他教程就不太一樣 ftp_home_dir --> off ftpd_anon_write --> off ftpd_connect_all_unreserved --> off ftpd_connect_db --> off ftpd_full_access --> off ftpd_use_cifs --> off ftpd_use_fusefs --> off ftpd_use_nfs --> off ftpd_use_passive_mode --> off httpd_can_connect_ftp --> off httpd_enable_ftp_server --> off sftpd_anon_write --> off sftpd_enable_homedirs --> off sftpd_full_access --> off sftpd_write_ssh_home --> off tftp_anon_write --> off tftp_home_dir --> off #將包含有 ftp_home_dir 和 ftpd_full_access 相關的都設置為 1 setsebool -P ftp_home_dir 1
setsebool -P allow_ftpd_anon_write 1 setsebool -P ftp_home_dir 1 setenforce 1 #進入Enforcing模式
方式三、 SELINUX不對vsftp不做任何限制
setsebool -P ftpd_connect_all_unreserved 1
這個時候再使用工具連接,你發現,就可以正常的上傳和下載文件了。
如果還是有問題嘗試給我們用戶的ftp目錄,設置一下操作權限
chmod -R 775 /home/vsftpd/leo
安裝FTP遇到的問題
本地連接FTP:ftp localhost(免密模式下 使用anonymous登陸,無需密碼)
------530狀態登錄失敗,220表示服務正常,可以登陸;230表示登陸成功。
CentOS 7的ftp遇到530 Login incorrect.(阿里雲)(去掉勾勾成為主動模式)
三、部署項目
1、用ip訪問是否正常,並且查看此IP默認指向的文件夾位置在哪里
一般是 /var/www/html
2、配置apache,vim /etc/httpd/conf/httpd.conf修改配置文件。
將#ServerName www.example.com:80 改為 ServerName 你的IP:80
3、配置完后進行測試查看。
[root@centos ~]# service httpd start Redirecting to /bin/systemctl start httpd.service [root@centos ~]# service httpd status Redirecting to /bin/systemctl status httpd.service ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2017-06-05 15:57:34 CST; 5s ago
4、通過局域網中主機測試訪問,若失敗一般都是沒有添加8080端口iptables訪問規則,記得保存重啟,如下,
[root@Centos ~]# iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
[root@Centos ~]# service iptables save
[root@Centos ~]# service iptables restart
[root@Centos ~]# iptables -nL #查看規則表,看下添加成功否
5、添加完在做apache訪問測試,成功則如下圖所示。 IP:80
6、配置php
#測試php解析是否成功 目錄位置就是apche指向的根目錄,寫好index.php后輸入ip:80/index.php
vi /var/www/html/index.php
8、綁定域名,綁定項目
vim /etc/httpd/conf/httpd.conf
添加
<VirtualHost *:80>
ServerName 你的域名
DocumentRoot 域名指向的文件夾位置
</VirtualHost>
重啟httpd
systemctl restart httpd.service
部署項目遇到的問題:
1、runtime沒給權限
2、數據庫賬號密碼問題以及框架內部 把application下面的 config.php文件默認模塊home改為admin
3、如果登錄系統或者與數據庫相連接運用報的錯(F12查看錯誤)
報 could not find driver (則有可能是你沒安裝 PDO_MYSQL擴展包)
php -m 查看有沒有pdo_mysql 拓展
yum install php70w-mysqlnd.x86_64 裝上,重啟apache
systemctl restart httpd.service
所有步驟參考鏈接:
安裝LAMP環境---https://www.cnblogs.com/dennyxiao/p/9875600.html
忘記數據庫密碼---https://blog.csdn.net/qq_28347599/article/details/71915209
遠程連接數據庫---https://www.cnblogs.com/dennyxiao/p/8990047.html
安裝FTP---https://www.cnblogs.com/leoxuan/p/8329998.html
安裝FTP---https://www.inqingdao.cn/598.html
安裝FTP---https://www.cnblogs.com/zhi-leaf/p/5983550.html
FTP遇到530登錄問題---https://blog.csdn.net/qq_25123309/article/details/79715802
刪除安裝的rpm包---https://www.cnblogs.com/qianjilou/p/9069660.html
了解FTP知識:
https://blog.51cto.com/xiaocao13140/2125532
https://www.cnblogs.com/xuzhengzong/p/8645908.html
https://blog.csdn.net/wsyh12345678/article/details/83244940
部署項目參考鏈接
https://www.cnblogs.com/huanglinxin/p/8643635.html