一、配置环境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