说明:我安装后的版本号分别是:

apache : Apache/2.4.6 (CentOS)
mysql:5.6.42
php:5.6.39

一、配置网络。

我们首先需要让我们的虚拟机能够连接上外网,这样才能方便我们使用yum进行安装。

1、如果只是自己开发用的话,最简洁的配置,我们只需要配置一个IP和网关就可以了(根据自己的实际情况)

vim /etc/sysconfig/network-scripts/ifcfg-ens33

DEVICE=ens33
IPADDR=192.168.1.101
GATEWAY=192.168.1.1
ZONE=public

2、配置DNS,具体的值可以在 cmd 的ipconfig -all 进行查看

vim /etc/resolv.conf

nameserver xxx.xxx.xxx.xxx

3、service network restart // 重启网络服务

4、ping 192.168.1.101 或 ping www.baidul.com //检测网络是否可以连接网络了。

二、配置防火墙和SELINUX

开启80、3306端口。CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙

1、关闭firewall

#停止firewall服务
systemctl stop firewalld.service

#禁止firewall开机启动
systemctl disable firewalld.service

2、安装iptables

yum install iptables-services

#编辑防火墙配置文件

vim /etc/sysconfig/iptables

加入红色的两行代码,请注意位置一定要对应。

1 # sample configuration for iptables service
2 # you can edit this manually or use system-config-firewall
3 # please do not ask us to add additional ports/services to this default configuration
4 *filter
5 :INPUT ACCEPT [0:0]
6 :FORWARD ACCEPT [0:0]
7 :OUTPUT ACCEPT [0:0]
8 -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
9 -A INPUT -p icmp -j ACCEPT
10 -A INPUT -i lo -j ACCEPT
11 -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
12 -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
13 -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
14 -A INPUT -j REJECT --reject-with icmp-host-prohibited
15 -A FORWARD -j REJECT --reject-with icmp-host-prohibited
16 COMMIT

3、最后重启防火墙使配置生效

systemctl restart iptables.service
#设置防火墙开机启动
systemctl enable iptables.service

4、关闭selinux
#修改配置文件
vi /etc/selinux/config

1
2 # This file controls the state of SELinux on the system.
3 # SELINUX= can take one of these three values:
4 # enforcing - SELinux security policy is enforced.
5 # permissive - SELinux prints warnings instead of enforcing.
6 # disabled - No SELinux policy is loaded.
7 #SELINUX=enforcing
8 SELINUX=disabled
9 # SELINUXTYPE= can take one of three two values:
10 # targeted - Targeted processes are protected,
11 # minimum - Modification of targeted policy. Only selected processes are protected.
12 # mls - Multi Level Security protection.
13 #SELINUXTYPE=targeted
5、使配置立即生效
setenforce 0

三、安装apache

yum install -y httpd

可能会用到的:

systemctl start httpd.service //启动apache

systemctl stop httpd.service //停止apache

systemctl restart httpd.service //重启apache

systemctl enable httpd.service //设置apache开机启动

systemctl restart httpd.service //重启服务

输入 192.168.1.101 出现如下界面,就代表apache安装成功。

拓展:如何查看apache配置文件 httpd.conf 的路径

我们只需要执行 httpd -V 就可以了,输出如下:

其中HTTPD_ROOTSERVER_CONFIG_FILE  就可以确定httpd.conf的路径了

 2、目录文件

  • 程序目录:/usr/sbin/httpd
  • 默认网站主页存放目录: /var/www/html/
  • 日志文件存放目录:/var/log/httpd/
  • 主配置文件:/etc/httpd/conf/httpd.conf
  • 从配置文件:/etc/httpd/conf.d/

3、主配置文件的一些参数

ServerRoot “/etc/httpd“         //服务配置文件目录
PidFile run/httpd.pid //PID文件
Listen 80 //默认监听端口
Include conf.modules.d/ *.conf //包含模块目录的配置文件
User apache //启动用户
Group apache //启动组
ServerAdmin root@localhost //管理员邮箱
ServerName www.example.com:80 //域名主机名
DocumentRoot “/var/www/html“ //默认主页存放目录
DirectoryIndex index.html index.html.var //索引文件
<Directory "/var/www"> //规定网站根目录的位置
AllowOverride All
# Allow open access:
Require all granted
</Directory>
ErrorLog logs/error_log //错误日志
CustomLog logs/access_log combined //访问日志
AddDefaultCharset UTF-8 //默认字符集
IncludeOptional conf.d/ *.conf //包含了 conf.d/*.conf 的配置文件 <IfModule dir_module>
DirectoryIndex index.html //默认索引
</IfModule>

4、配置多个站点

在配置文件中  /etc/httpd/conf.d/   下创建一个配置文件,我们新建一个 port.conf 文件(*.conf都可被自动包含进来,名字可以自己取),然后加入下面几行:

Listen 8080
<VirtualHost *:80>
DocumentRoot /var/www/html/web1
</VirtualHost>
<VirtualHost *:8080>
DocumentRoot /var/www/html/web2
</VirtualHost>

注:

yum 安装的apache,httpd.conf 里面默认没有 LoadModule 的相关配置,需要我们手动去添加,

但是必须配置 modules(默认为:/usr/lib64/httpd/modules/) 里面有的 .so 文件。下面我以配置 mod_rewrite.so为例,

1、vim /etc/httpd/conf/httpd.conf , 添加 LoadModule rewrite_module modules/mod_rewrite.so

就可了,当然如果需要使用这个 rewrite 模块,还需要将所有的 AllowOverride 改成 all 才行。

附:

//常用的LoadModule有这些,按需加入
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_alias_module modules/mod_authn_alias.so
LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule info_module modules/mod_info.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule actions_module modules/mod_actions.so
LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule substitute_module modules/mod_substitute.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule cache_module modules/mod_cache.so
LoadModule suexec_module modules/mod_suexec.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule version_module modules/mod_version.so

四、安装mysql

由于yum源上没有mysql-server。所以必须去官网下载后在安装吗,这里我们用wget命令,直接获取。 

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

rpm -ivh mysql-community-release-el7-5.noarch.rpm   // Redhat Linux Package Manager 红帽包管理器, -i : install

yum install -y mysql-community-server

systemctl restart mysqld.service //安装完成后重启mysql

初始安装 root用户没有密码,设置一个秘密

mysql -u root

#设置msyql密码为 123456
mysql> set password for 'root'@'localhost' =password('123456');

#远程连接设置,所有以root账号连接的远程用户,设其密码为 123456
mysql> grant all privileges on *.* to root@'%'identified by '123456';

#更新权限
mysql>flush privileges;  

下面我来说一下如何在mysql中找到yum安装的rpm包。

a、首先我们进入mysql官网 www.mysql.com

b、点击DOWNLOADS.

c、点击 Yum Repository

d、选择复制这个名字

e、然后回到自己的服务器,用 wget http://dev.mysql.com/get/ 接上复制的这个名字就可以下载最新的 Yum release 安装包

f、详细使用教程请看最先文档。

五、安装PHP

由于自带的yum 源php版本是 php5.4 ,我觉得有点儿低,在此安装php5.6

首先我们需要追加CentOS 7.0的epel及remi源。

yum install -y epel-release //EPEL(Extra Pacakges for Enterprise Linux ) 为红帽操作系统提供的额外软件包,首先我们需要安装一个叫”epel-release”的软件包,这个软件包会自动配置yum的软件仓库

rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm //Remi repository 是包含最新版本 PHP 和 MySQL 包的 Linux 源,由 Remi 提供维护。有个这个源之后,使用 YUM 安装或更新 PHP、MySQL、phpMyAdmin 等服务器相关程序的时候就非常方便了,相关内容可以参考http://www.ttlsa.com/yum/linux-remi-repository/

//使用yum list命令查看可安装的包(Packege)。
yum list --enablerepo=remi --enablerepo=remi-php56 | grep php

//yum源配置好了,下一步就安装PHP5.6。

yum install -y --enablerepo=remi --enablerepo=remi-php56 php php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof php-gd

//今后如果需要添加拓展也很方便,只需要执行:

yum install -y --enablerepo=remi --enablerepo=remi-php56  拓展名 ,如我现在需要添加 pgsql拓展,只需要执行:

yum install -y --enablerepo=remi --enablerepo=remi-php56 php-pgsql 

//用PHP命令查看版本。
php --version

六、验证LAMP是否安装成功

1、重启一下 apache 和 mysql

2、cd /var/www/html

vim index.php 写入 phpinfo();

验证 http://192.168.4.147/index.php ,出现如下界面,代表安装OK。

到此为止,我们的LAMP环境就搭建好啦!

六、composer

1、安装composer

curl -sS https://getcomposer.org/installer | php

mv composer.phar /usr/local/bin/composer

2、配置packagist中国镜像

composer config -g repo.packagist composer https://packagist.phpcomposer.com

composer不允许用root来执行,如果是root账号会报 Do not run Composer as root/super user! See https://getcomposer.org/root for details 的错误,需要使用一般账号来执行

3、使用composer安装yii2-app-basic项目

composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic

如果出现报 mkdir();permission denied 的错误,我们需要将 /var/www/html 目录的权限修改一下。

七、安装samba

1、yum install -y samba

2、首先我们需要有一个管理 samba 的账号,可以用 useradd 单独创建一个,也可以使用现有的账号,我这里就使用已经拥有的 carroll 账号。

3、将账号添加到 samba 中,作为管理samba的账号,这一步很重要,因为高版本已经不支持share模式了,只能使用 user 模式

smbpasswd -a carroll

4、配置 smb.conf

安装成功之后,cd /etc/samba/,我们将原有的 smb.conf 备份,新增一个 smb.conf ,配置如下:

[global]
#Samba Server 所要加入的工作组或者域
workgroup = SAMBA
#设定Samba的注释,可以是任何字符串,宏%v表示显示Samba的版本号
server string = Samba Server Version %v
#如下两行替代原来的 share 模式
security = user
map to guest =Bad User
#登录时需要输入密码
encrypt passwords=yes
smb password file=/etc/samba/smbpasswd [carroll]
//共享的路径
path = /var/www/html/
writeable = yes
#指定该共享是否可以浏览
browseable = yes
guest ok = yes
#验证的账号,这个账号需要提前使用smbpasswd -a carroll
valid users=carroll

5、检查配置文件是否有异常,重启samba

testparm  // 如果有异常,可以根据提示去排错

service smb restart

6、将我们的共享目录的用户组和权限更改为samba管理账号
chown -R carroll.carroll /var/www/html
chmod -R 777 /var/www/html

7、最好我们还需要关闭防火墙或者设定相应的过滤规则才能正常访问

service iptables stop

然后我们在客户端就可以连接了

八、.htaccess 文件

<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

如果是windows 下的 phpstudy 搭建的环境,上面的配置如果无效,可以试一下如下配置:

<IfModule mod_rewrite.c>
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
</IfModule>

参考了博友的博客:https://www.linuxidc.com/Linux/2016-11/136766.htm

https://www.cnblogs.com/jie-hu/p/5950584.html

感谢他们!

本文为袋鼠同学(Chrdai)工作中的总结,如有转载,请注明出处:https://www.cnblogs.com/chrdai/p/10168259.html

centos7 yum安装LAMP的更多相关文章

  1. CentOS7 yum安装lamp环境

    1.安装apache yum install httpd #根据提示,输入Y安装即可成功安装 systemctl start httpd.service #启动apache systemctl sto ...

  2. CentOS7 yum 安装git

    1.查看系统是否已经安装git git --version 2.CentOS7 yum 安装git yum install -y git 3.安装成功 4.卸载git yum remove git

  3. CentOS6.5下 yum安装LAMP

    CentOS下yum安装LAMP   1. 用yum安装Apache,Mysql,PHP. 1.1安装Apache yum install httpd httpd-devel 安装完成后,用/etc/ ...

  4. [转帖]Centos7 yum安装Chrome浏览器

    Centos7 yum安装Chrome浏览器 https://www.cnblogs.com/ianduin/p/8727333.html以及https://blog.csdn.net/libaine ...

  5. yum安装LAMP环境与管理(七)

    [教程主题]:yum安装LAMP环境与管理 [1] 什么是LAMP 目前世界最流行的企业建站方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作 ...

  6. centos 安装卸载软件命令 & yum安装LAMP环境

    安装一个软件时 yum -y install httpd 安装多个相类似的软件时 yum -y install httpd* 安装多个非类似软件时 yum -y install httpd php p ...

  7. CentOS yum 安装LAMP PHP5.4版本

    CentOS yum 安装LAMP PHP5.4版本 [日期:2015-06-04] 来源:Linux社区  作者:rogerzhanglijie [字体:大 中 小]     Linux系统版本:C ...

  8. centos7 yum安装配置redis 并设置密码

    原文:https://www.cnblogs.com/fanlinglong/p/6635828.html centos7 yum安装配置redis 并设置密码 1.设置Redis的仓库地址 yum ...

  9. centos7 yum安装遇到报错:Head V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEYer

    centos7 yum安装时遇到错误:Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY 无法安装时,可按如下方法解决: This mini ...

随机推荐

  1. (二分查找 结构体) leetcode33. Search in Rotated Sorted Array

    Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e. ...

  2. SQL随记(二)

    1.purge关键字:可以清除oracle 回收站(recyclebin)中的表和索引并释放与其相关的空间,还可清空回收站,或者清除表空间中记录的已删除的部分表空间.但是purge后不能回滚和恢复. ...

  3. MTD下的Nand驱动

    目录 MTD下的Nand驱动 引入 平台设备资源文件 关键数据结构 平台框架 s3c24xx_nand_probe nand_scan s3c2410_nand_add_partition add_m ...

  4. Docker:网络及数据卷设置 [四]

    一.Docker网络设置 默认情况下,docker会创建一个桥接网卡[docker 0],docker有2种映射方式,一种是随机映射,一种是指定映射 提示:生产场景一般不使用随机映射,但是随机映射的好 ...

  5. 深入jar包:从jar包中读取资源文件getResourceAsStream

    一.背景 我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等). 在单独运行的时候这些简单的处理当然不会有问题.但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不 ...

  6. springBoot多数据源(不同类型数据库)项目

    一个基于springboot的多数据源(mysql.sqlserver)项目,先看看项目结构,注意dao层 多数据源mysql配置代码: package com.douzi.robotcenter.c ...

  7. Entity Framework入门教程(11)---EF6中的异步查询和异步保存

    EF6中的异步查询和异步保存 在.NET4.5中介绍了异步操作,异步操作在EF中也很有用,在EF6中我们可以使用DbContext的实例进行异步查询和异步保存. 1.异步查询 下边是一个通过L2E语法 ...

  8. Groovy 设计模式 -- 适配器模式

    Adapter Pattern http://groovy-lang.org/design-patterns.html#_adapter_pattern 适配器模式,对象存在一个接口, 此接口在此对象 ...

  9. 基于89C51/52单片机的红外线遥控驱动

    目录 说明 IR.h IR.c 说明 编码格式:NEC IR.h /************************************************************ * @Pr ...

  10. sort与uniq命令详解

    1.sort的作用 (排序) sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出. 如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行 ...