CentOS7系统想安装下面这些软件需要先切换到root用户组,打开“终端”的时候默认用户组不是root用户,需要用命令:
su root
然后终端会提示你输入你的root用户密码,初学者会发现此时怎么按键盘都没用,以为出错了,这是Linux系统的坑爹之处,但凡在终端里输入密码就是什么显示和反应都没有。所以不用管,直接输入密码后按回车,此时就会发现切换到root用户组了,就可以执行下面的操作了。如果是非root用户组,使用“终端”只能实现如查询类的操作,可以理解为“只读”操作,而没有“写”的权限。
因为CentOS7的防火墙变了,所以我们要先打开80端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent
systemctl restart firewalld.service
但是有的主机商,可能会修改了模板,还继续使用老旧的iptables,如果你发现上述命令出现无法找到的情况,请使用以下命令来打开80端口
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
service iptables save
service iptables restart
然后记得,要update一下,不管我们要安装什么东西,都要记得,先进行该操作
yum update
二、安装apache
安装apache 其实很简单,一条命令就够了
yum install httpd httpd-devel
还有下面几条命令,我们也要注意一下,分别是用来设置apache的,主要是开机启动,请一定要记得设置。
systemctl status httpd.service #查看apache的状态
systemctl start httpd.service #启动apache
systemctl stop httpd.service #停止apache
systemctl restart httpd.service #重启apache
systemctl enable httpd.service #设置apache开机启动
然后开始安装mysql
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-server
这时候的mysql是没密码的,用下面的命令修改mysql的密码
systemctl restart mysqld
mysql_secure_installation
根据提示,修改密码应该是很简单的。
下面的几个命令,你应该记住
service mysqld status # 检查MySQL的状态
systemctl start mysqld # 启动 MySQL
systemctl stop mysqld # 停止 MySQL
systemctl restart mysqld # 重新启动 MySQL
systemctl enable mysqld # 开机启动ySMySQL
注意:用上面的命令安装的是MySQL 5.6版本的MySQL,低于5.7版本的MySQL安装完毕后初始root密码为空,从5.7版本开始MySQL安装完后会生成一个随机密码用于第一次登录,第一次用随机密码登录进去后要马上修改root账号密码。
下面是MySQL 5.7的操作:
为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。
只有启动过一次mysql才可以查看临时密码
grep 'temporary password' /var/log/mysqld.log 查看临时密码
临时密码是"root@localhost:" 冒号后面的一串字符,不管这串字符看起来多么不像密码但是它就是临时密码。
使用默认的密码登陆
mysql -uroot -p
输入完上面的命令后终端会提示你输入临时密码,此时就输入上面获得的那个看起来特不像密码的临时密码。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';
root123 就是新密码,但是MySQL 5.7的默认密码安全策略要求root密码为8位包含数字和字母大小写的密码组合,多了还不行,比如你输个10位或者12位包含数字和字母大小写的密码就不允许,通不过。
此时必须修改两个全局参数:
首先,修改validate_password_policy参数的值
mysql> set global validate_password_policy=0;
再修改密码的长度
mysql> set global validate_password_length=1;
但是到此处又可能出问题,如果安装的MySQL版本高于5.7会在这个地方继续报错,说找不到变量,更高版本的MySQL中validate_password_policy与validate_password_length这两变量的名字变了,
变成了validate_password.policy与validate_password.length
也就是最后一个"-"变成了"."。
再次执行修改密码就可以了
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';
四、安装PHP
因为目前国内的php还是停留在php5,所以,我们还是从php5开始
开始安装PHP:
yum install php php-devel
yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
然后到【/var/www/html】下面创建一个文件,名称为【test.php】,内容为:
<?php
phpinfo();
?>
到这一步想把测试的.php文件放进html文件夹会发现放不进去,右键属性查看文件夹的权限,会发现只有访问权限,也就是“只读”权限,现在就需要修改文件夹的权限了。
#chmod -R 777 /var/www
参数 -R 表示递归,/var/www及其之内的所有文件夹、文件都被改变了权限。
修改www目录下的文件夹权限,为可读可写,当然也可以只修改html文件夹的权限。然后把测试的.php文件丢进去,我放进去的是"index.php",在终端用命令重启apache,然后打开CentOS7系统自带的火狐浏览器在地址栏输入"localhost/index.php"如果运气够好没出问题,就会看到php的版本及一些信息,此时PHP运行环境搭建成功。
好了,假设你要死要活地非要安装php7
先删除之前的php
yum remove php* php-common
然后开始安装php7
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm --force --nodeps
yum install php70w
如果出现【epel-release >= 7 is needed by webtatic-release-7-3.noarch】的错误,表示你需要安装epel-release,请先运行以下命令安装epel-release:
yum -y install epel-release
然后,还需要安装一些扩展:
yum install php70w-mysql php70w-gd php70w-imap php70w-ldap php70w-odbc php70w-pear php70w-xml php70w-xmlrpc php70w-mbstring php70w-devel
记得有事没事重启apache
安装好了,可以用以下的代码,查看PHP版本,或者访问我们刚才创建的那个test文件,请务必记得要重启apache
php -v