最近公司要在阿里云上部署一个thinkphp的项目,对于我这个前端的开发者来说,简直就是痛苦,对于php项目搭建毫无头绪,只能硬着头皮做起来,网上搜索的搭建流程不是这点就是那点的,转载,copy的,让我实在无语,既然搭建好,就把过程写下来,供大家参考(主要是lamp:centos+apache+mysql+php安装配置方法,对于的nginx大家可以自己尝试一下)。
首先安装apachecentos可以直接yum安装apache 。
命令:yum install httpd //根据提示,输入Y安装即可成功安装
安装完成Apache后,我们可以使用http://你的服务器ip/测试访问Apache,如果能显示如下图,则说明Apache已经安装成功。
注:如果我们测试无法打开这个页面,那么首先要考虑几个情况:
1、是不是开启了iptables防火墙,如果是的话,可以用systemctl stop iptables关闭后再试
2、是不是开启了firewalld防火墙,如果是的话,可以用systemctl stop firewalld关闭后再试
3、是不是开启了SELinux功能,如果是的话,可以用setenforce 0临时关闭SELinux后再试
4、重启Apache 服务
systemctl restart httpd
Apache安装好后,默认的网站路径是/var/www/html,也就是说以后我们想部署网站的话,必须把文件放到这个目录下,例如我们下面测试一下。
echo "Hello,PHP~" > /var/www/html/index.html
上面这个命令是在/var/www/html下面创建一个index.html文件,内容是Hello,PHP~,此时我们刷新浏览器,访问我们的Apache网站应该可以看到页面。
Apache安装好后配置文件在/etc/httpd/conf/httpd.conf
编辑它
vim /etc/httpd/conf/httpd.conf
打开文件后,我们输入/docu,然后按下回车,这样就可以快速搜索到我们要找到内容。如下图,可以看到有两个/var/www/html的地方,我们要修改的就是这两个地方,把/var/www/html修改成我们想要的路径,比如/www,那么修改后就是这样的。
重启Apache服务了
systemctl restart httpd
下载mysql源安装包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安装mysql源
yum localinstall mysql57-community-release-el7-8.noarch.rpm
检查mysql源是否安装成功
shell> yum repolist enabled | grep "mysql.*-community.*"
shell> yum install mysql-community-server
shell> systemctl start mysqld
shell> systemctl enable mysqld
shell> systemctl daemon-reload
mysql安装完成之后,在/var/log/mysqld.log
文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:
shell> grep ‘temporary password’ /var/log/mysqld.log
![这里写图片描述](https://img-blog.csdn.net/20170327214927641?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2l0aHViXzM4MDU3NDYy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
shell> mysql -uroot -p
mysql> set password for 'root'@'localhost'=password('MyNewPass4!');
注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误。
修改密码策略: 在/etc/my.cnf文件添加validate_password_policy配置,指定密码策略 选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件 “`validate_password_policy=0“` 如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可: “`validate_password = off“` 重新启动mysql服务使配置生效:
systemctl restart mysqld
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,添加一个新的帐户,在这我修改配置:
登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”
mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
重新启动mysql服务,查看数据库默认编码如下所示:
默认配置文件路径:配置文件:/etc/my.cnf
日志文件:/var/log//var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service socket
文件:/var/run/mysqld/mysqld.pid
命令:
yum install php
yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt
到此我们的apache、mysql、php都安装完了。在此重启一次apache和mysql
service httpd restart
service mysqld restart
下面我们来测试一下php环境,刚刚我们已经安装了php了,那么正常情况下我们可以不用修改php的配置。下面我们试试创建一个php页面。
echo " phpinfo(); ?>" > /home/www/index.php
在浏览器中访问http://你的ip/index.php后可以看到php安装信息说明php安装成功。
注:
1.对应的安装顺序是apache >mysql >php(对应的顺序不要乱,否则后面安装需要对应的依赖包,很麻烦,很容易因为版本的原因出现对应的错误mysqli未安装,GD库未安装等,我就是在处理依赖的时候遇到很多问题,后面发现只要按照顺序安装就没有那么麻烦)
2.Mysqli如果在php的显示信息上没有或php -m|grep mysql
没有mysqli
那只有进行单独安装 具体的参考:http://www.cnblogs.com/iLoveMyD/p/3437243.html
3.默认CentOS服务器装好后运行的网站并不支持GD库,网上有很多教程非常复杂的讲述了一些安装GD库的方法。其实没有那么复杂。由于CentOS 将支持GD库的PHP作为另外一个版本的PHP来发布.我们如果需要网站支持GD库,只需要直接安装带GD库的php版本即可. 下面是最简便的安装GD库的方法:具体操作只有2个命令如下: 运行在线安装带GD库的PHP的命令: yum -y install php-gd
系统会自己从网站下载GD库,然后就会自动执行安装重新启动apachce服务以使安装后的GD库生效 service httpd restart
4.网站主页www.xxx.com能打开,但一涉及到跳转,带参数,比如 www.xxx.com/xxx/xxx.html 就会报错
a.centos的配置文件放在:/etc/httpd/conf/httpd.conf
AllowOverride None 将None改为 All //在APACHE里面去配置 (注意其他地方的AllowOverride也统统设置为ALL)
b..htaccess文件必须放到跟目录下
代码如下:
在windows下不能建立以点开头的文件,你可以先随便建立一个文件
然后在DOS在操作 rename xxxx.xxxx .htaccess