阿里云CentOS7 搭建apache+php+mysql环境
第一步:安装apache(httpd 2.4.6)
安装命令:yum -y install httpd
查看httpd版本:rpm -qa | grep httpd
防火墙开放端口80:
启动httpd.service: systemctl start httpd
注意以下三点,否则外网无法访问,注意以下三点,否则外网无法访问,注意以下三点,否则外网无法访问:
1.centOS7关闭启用selinux
2.阿里云esc云服务器IP不能访问的解决办法
3.设置安全组规则才能访问centOS主机的web网站
第二步:安装php5.6
1.执行下面的命令升级软件仓库
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 remove php-common
3.安装php 5.6版本
yum install -y php56w php56w-opcache php56w-xml php56w-mcrypt php56w-gd php56w-devel php56w-mysql php56w-intl php56w-mbstring
4.重启httpd服务
输入命令:systemctl restart httpd
第三步:安装Mysql
1.下载mysql源安装包
# 下载mysql源安装包 shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm # 安装mysql源 shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm
2.检查mysql源是否安装成功
shell> yum repolist enabled | grep "mysql.*-community.*"
出现如下为mysql源下载安装成功3.安装mysql
shell> yum install mysql-community-server
4.防火墙开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
5.启动mysql服务
shell> systemctl start mysqld
6.查看mysql服务状态
shell>systemctl status mysqld
7.append 2017/12/29
当mysql安装完成后不知道密码时可以按照以下方法重置密码:
1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1
这一行配置让 mysqld 启动时不对密码进行验证
2、重启 mysqld 服务:systemctl restart mysqld
3、使用 root 用户登录到 mysql:mysql -u root
4、切换到mysql数据库,
use mysql;
更新 user 表:
update user set authentication_string = password('密码'), password_expired = 'N', password_last_changed = now() where user = 'root';
在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string
5、退出 mysql,编辑 /etc/my.cnf 文件,删除 skip-grant-tables=1 的内容
6、重启 mysqld 服务,再用新密码登录即可
配置多站点多域名
第四步:配置多站点多域名1.配置站点对应的host
打开hosts文件编辑:vi etc/hosts
在文件尾添加host
2.进入到 /etc/httpd目录下,创建一个名为vhost-conf.d的文件夹(当然,文件夹可以自己命名)
进入vhost-conf.d文件夹,为每个站点创建配置文件,命名随意
每个站点的配置信息,创建一个站点的配置文件之后,其它站点拷贝做相应的修改就好了。
在httpd.conf文件末尾加上include vhost-conf.d/*.conf (将文件夹下的所有.conf配置文件导入进来)
创建对应配置文件的站点根目录
重启httpd服务就可以了。购买域名之后,域名映射到服务器IP就行了,但是要在/etc/hosts文件中自己添加的域名与购买的域名一样才能区分多个站点的域名解析