木子设计

LZG个人博客

本人专注于web领域开发,博客主要记录学习php/html/css/javascript,框架Yaf/Laravel/TP/CI,Linux及一些常用工具过程中遇到的问题及解决心得,希望对技术推广及他人学习提供薄力。

Centos 7 Apache 安装及虚拟主机配置

发布时间:2016-08-28 15:53:24

这是由于yum安装了旧版本的GPG key或者key文件不存在s造成的,解决办法如下:
使用如下命令导入
 rpm --import /etc/pki/rpm-gpg/RPM*
https://cnzhx.net/blog/centos-rhel-install-lamp-phpmyadmin/#hostname

1 安装:
yum install -y httpd(yum remove -y httpd) 最新的安装及卸载

2 安装完地址,配置文件在/etc/httpd/conf/httpd.conf,虚拟主机配置在/etc/httpd/conf.d/vhost.conf(自己创建,vi vhost.conf),开启伪静态找到这些都改掉 找到 AllowOverride None 改成 AllowOverride All , 有两个全部改掉vhost.conf

 <VirtualHost *:80>
ServerAdmin localhost
ServerName localhost
ServerAlias www.kuigg.com abc.kuigg.com 绑定多个域名用的
DocumentRoot /var/www/html
</VirtualHost>

当虚拟主机放到home或者其它目录下的时候,会出现403权限问题,最后试了半天是这里的问题(要改成这样,以前是不允许所有目录下访问,真坑)

 <Directory />
    AllowOverride All
    Require all granted(denied)
</Directory>


3 www目录在/var/www/html下,我新建了个/var/www/html/yaf虚拟主机目录

4 VIM使用,i输入,:wq!保存并关闭,:w!强制保存。

5 systemctl start(restart/stop) httpd.service 启动/关闭/重启服务 systemctl enable httpd 设置为开机启动

6 创建目录mkdir <目录名>

7 要使用虚拟主机一定要改hosts,将IP映射到主机名。 vi /etc/hosts 添加要增加的就好了(这只是本地方式,服务器是不用这样的)

8 安装php,yum install php,安装完重启apache就可以使用了。( yum -y install php-gd)

mysql 5.7 安装,会默认生成一个密码在这里搜索/var/log/mysqld.log,然后按提示进行
http://www.phpini.com/linux/rhel-centos-fedora-install-mysql-5-7

9 安装mysql,7开始不默认支持mysql了而是mariadb,所以安装比教复杂:
 # wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
# rpm -ivh mysql-community-release-el7-5.noarch.rpm
# yum install mysql-community-server
grep "password" /var/log/mysqld.log 打印初始密码
成功安装之后重启mysql服务

# service mysqld restart (systemctl restart mysqld)
初次安装mysql是root账户是没有密码的
设置密码的方法
 # mysql -uroot -ppassword
mysql> set password for ‘root’@‘localhost’ = password('mypasswd');
mysql> exit

授权远程访问:不授权无法通过其它机器访问此服务器上的数据库
转到mysql这个数据库,更新里面的user表的host字段,让root这个用户可以通过不同的网域访问:
use mysql
update user set host='%' where user = ' root';(注意空格)
grant ALL PRIVILEGES on *.* to ' root'@'%' with grant option;
flush privileges;
10 设置好权限还是提示目录没有权限,关掉selinux就好
Redhat使用了SELinux来增强安全,关闭的办法为:
1. 永久有效
修改vi /etc/selinux/config 文件中的 SELINUX="" 为 disabled ,别的都注释掉,然后重启。
2. 即时生效,关闭的命令
setenforce 0
3. 防火墙也要打开端口,或者直接关掉iptables(systemctl stop firewalld.service)
开启端口:firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
重启防火墙
firewall-cmd --reload

11 解压命令unzip <目录/文件> 压缩 zip -r <文件名> <目录>(-r表示递归压缩目录下所有文件)

12 为了在 PHP 中使用 MySQL,还需要安装这个 php-mysql 包:(安装mysqlnd包~~~mysql会转换int为string而且效率不出mysqlnd)

yum install php-mysqlnd

13 安装phpmyadmin,配置里面有点东西没弄明白,就是所有站点虚拟目录
先安装yum源,到 EPEL 主页:

http://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F

找到 The newest version of ‘epel-release’ for EL7,点击打开新页面,复制 epel-release-7-5.noarch 的链接(数字可能有变化,当前版本是 7.5)。采用下面的方法直接安装:

yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

yum install phpmyadmin

配置文件在这里/etc/httpd/conf.d/phpMyAdmin.conf

https://linux.cn/article-4526-1.html

设置开机进入命令行

systemctl set-default multi-user.target

开机进入图形界面

systemctl set-default graphical.target

修改.htaccess文件用以禁止目录浏览
在网站根目录修改 .htaccess 文件,增加如下代码(若无.htaccess 文件则新建):


Options -Indexes