Linux主要分为两大系发行版,分别是RedHat和Debian,lamp环境的安装和配置也会有所不同,所以分别以CentOS 7.1和Ubuntu 14.04做为主机(L)

Linux下安装软件,最常见有源码安装方式、RPM/deb安装方式、yum/apt-get安装方式等,在这里使用yum/apt-get安装LAMP开发环境

CentOS 7.1 下安装LAMP开发环境及配置文件管理

安装并配置Apache

[root@localhost ~]# yum install httpd

默认安装的Apache版本为httpd-2.4.6-31.el7.centos.x86_64,默认配置文件主目录位于/etc/httpd下,/etc/httpd/conf/httpd.conf是Apache的主配置文件,Apache模块位于/usr/lib64/httpd/modules目录下,Apache模块的配置文件位于/etc/httpd/conf.modules.d目录下,设置禁用或开启模块可以通过修改该目录下每个文件,Web根目录位于/var/www/html目录下,日志文件位于/var/log/httpd目录下。

重点关注/etc/httpd目录。这个目录下,有个conf.d目录,默认情况下/etc/httpd/conf.d目录下所有的“.conf”结尾的文件都会被读取。因此,很多情况下不需要修改主配置文件/etc/httpd/conf/httpd.conf,而是在/etc/httpd/conf.d目录下新建一个以“.conf”结尾的文件来完成各种配置。

将Apache设置为开机自启动模式

[root@localhost wuxiwei]# systemctl enable httpd

关闭Apache服务

[root@localhost wuxiwei]# systemctl stop httpd

开启Apache服务

[root@localhost wuxiwei]# systemctl start httpd

重新加载httpd

[root@localhost wuxiwei]# systemctl reload httpd

安装并配置MariaDB(MYSQL)

[root@localhost wuxiei]# yum install mariadb-server mariadb

MariaDB完全兼容MYSQL,包括API和命令行。CentOS 从7.x开始默认使用MariaDB。

通过内置的安全配置脚本可实现对数据库的安全保护

[root@localhost wuxiwei]# /usr/bin/mysql_secure_installation

将MariaDB设置为开机启动

[root@localhost wuxiwei]# systemctl enable mariadb

开启MariaDB服务

[root@localhost wuxiwei]# systemctl start mariadb

关闭MariaDB服务

[root@localhost wuxiwei]# systemctl stop mariadb

安装并配置PHP

[root@localhost wuxiei]# yum install php php-cli php-pear php-pdo php-mysqlnd php-gd php-mbstring php-mcrypt php-xml

CentOS 7.1版本中,默认安装PHP为PHP5.4版本,其中php-mysqlnd是PHP源码提供的MYSQL驱动数据库。

很多时候会对PHP环境要求校新的版本,例如PHP5.6环境,记录一种通过yum工具安装最新PHP版本的方法。首先,需要在系统上安装一个扩展yum源,即epel源。可从http://fedoraproject.org/wiki/EPEL 网站下载并安装。

[root@localhost wuxiwei]# wget http://mirrors.neusoft.edu.cn/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

[root@localhost wuxiwei]# rpm -ivh epel-release-7-5.noarch.rpm

接着,还需要一个REMI源,这个yum源提供了最新的PHP版本的下载和安装,它的官网http://rpms.famillecollet.com/ 。安装REMI源的过程如下。

[root@localhost wuxiwei]# rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi

[root@localhost wuxiwei]# wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

[root@localhost wuxiwei]# rpm -ivh remi-release-7.rpm

默认情况下,REMI是禁用的,防止多个yum源发生冲突。可以通过命令查看REMI源是否成功安装

[root@localhost wuxiwei]# yum repolist disabled | grep remi

搜索REMI源仓库中可用的包

[root@localhost wuxiwei]# yum --enablerepo=remi-php56 list php

通过REMI源安装需要的PHP版本,安装PHP5.6版本。

[root@localhost wuxiwei]# yum --enablerepo=remi-php56 install php

Ubuntu 14.04 下安装LAMP开发环境及配置文件管理

安装并配置Apache

[root@localhost wuxiwei]# apt-get install apache2

重启Apache服务

[root@localhost wuxiwei]# service apache2 restart

安装并配置PHP5

[root@localhost wuxiwei]# apt-get install php5

查看Apache是否已经正确配置PHP5

[root@localhost wuxiwei]# cat /etc/apache2/mods_enables/libphp5.so

安装PHP5常用扩展

[root@localhost wuxiwei]# apt-get install php5-gd curl libcurl3 libcurl3-dev php5-curl

安装并配置MYSQL

[root@localhost wuxiwei]# apt-get install mysql-server

查看PHP5和MYSQL是否可以正常数据交互

[root@localhost wuxiwei]# cat /etc/php5.d/conf.d/mysql.ini

手动安装PHP5对于MYSQL扩展

[root@localhost wuxiwei]# apt-get install php5-mysql

重启MYSQL服务

[root@localhost wuxiwei]# service mysql restart

配置文件管理

Apache配置文件位于/etc/apache2目录下,Apache加载配置首先加载/etc/apache2/apache2.conf文件,通过Include将其他配置文件载入,核心配置文件包括:mods-xxx Apache模块;sites-xxx 虚拟主机,其中关键词available表示可以使用的;enable表示已启用的,两者通过ln -s命令建立软连接。

PHP5配置文件位于/etc/php5目录下,核心配置文件php.ini。

MYSQL配置文件位于/etc/mysql目录下,核心配置文件my.cnf,默认数据库存储位于/var/lin/mysql目录下。


Apache虚拟主机配置

  • CentOS 7.0 在/etc/httpd/conf.d目录下新建wuxiwei.conf文件,并重启apache。
  • Ubuntu 14.04 在/etc/apache2/sites-available目录下新建wuxiwei.conf文件,同时在/etc/apache2/sites-enabled目录下创建软链接到wuxiwei.conf文件,并重启apache。
  • wuxiwei.conf文件内容基本如下。
<VirtualHost *:80>
#管理员邮箱
ServerAdmin admin@wxw.cn
#访问的主机名
ServerName wuxiwei.cn
#ServerName别名,通过别名也可以访问这个虚拟主机
ServerAlias www.wuxiwei.cn
#主机目录
DocumentRoot /wuxiwei <Directory "/wuxiwei/">
#指定该目录启用FollowSymLinks特性,None:表示不起用任何的服务器特性,Indexes:如果输入的网址对应服务器上的一个目录,而此目录中又没有Directorylndex指令(例如:Directorylndex index.php index.html),那么服务器就会返回由mod_autoindex模块生成的一个格式化后的目录列表,并列出该目录下所有的文件。
Options FollowSymLinks
#允许所有都可以访问
AllowOverride All
Require all granted
</Directory> #错误日志
Errorlog /var/log/httpd/wuxiwei_error.log
#访问日志
CustomLog /vat/log/httpd/wuxiwei_access.log combined
</VirtualHost>

转载请注明出处。

作者:wuxiwei

出处:http://www.cnblogs.com/wxw16/p/6259331.html

Linux安装LAMP开发环境及配置文件管理的更多相关文章

  1. window / Linux 下 Golang 开发环境的配置

    一直专注于使用python语言进行程序开发,但是却又一直被它的性能问题所困扰,直到遇到了天生支持高并发的Golang,这似乎也成了学习go语言最理所当然的理由.下面介绍下Go语言开发环境搭建的步骤: ...

  2. linux安装go开发环境

    1下载go wget https://studygolang.com/dl/golang/go1.12.7.linux-amd64.tar.gz执行此命令会将go1.12.7.linux-amd64. ...

  3. Linux安装Java开发环境

    一.JDK安装 安装JDK的实现步骤(使用root用户登录安装,避免需要对文件授权) (1)下载JDK,JDK的存放目录一般存放于 /opt目录下(Oracle官网下载jdk,需要accept lic ...

  4. centos6.5编译安装lamp开发环境

    一.系统以及软件的准备 系统及编译安装包的下载地址:http://pan.baidu.com/s/1jIjqinc   密码:ghc2 说明:由于centos6.5是分卷压缩的,且压缩为三个压缩包,所 ...

  5. Linux安装jdk7开发环境

    1.官网 下载jdk7版本 地址: http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-jav ...

  6. CentOS 7配置LNMP开发环境及配置文件管理

    安装并配置MySQL 5.6 从CentOS从7.x开始默认使用MariaDB.MariaDB完全兼容MySQL,包括API和命令行.但是很多时候我们还是会想要安装MySQL,所以不能直接通过yum命 ...

  7. linux后台server开发环境的部署配置和验证(nginx+apache+php-fpm+FASTCGI(C/C++))

    linux后台server开发环境部署配置 引言 背景 随着互联网业务的不断增多.开发环境变得越来越复杂,为了便于统一server端的开发部署环境,特制定本配置文档. 使用软件 CentOS 6.3( ...

  8. go语言系列--golang在windows上的安装和开发环境goland的配置

    在windows上安装golang软件 golang中国网址为:https://studygolang.com/dl 我的学习选择版本:1.12.5 golang 1.12.5版本更新的内容:gola ...

  9. linux 下 ifcfg-eth0 配置/CentOS_minimal安装和开发环境部署

    CentOS_minimal安装和开发环境部署:http://www.th7.cn/system/lin/201305/39002.shtml 网络接口配置文件 [root@localhost ~]# ...

随机推荐

  1. Git与Repo入门

    版本控制 版本控制是什么已不用在说了,就是记录我们对文件.目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作... 一.原始版本控制 最原始的版本控制是纯手工的版本控制:修改文 ...

  2. 3.Windows Server 2012 R2数据库部署

    很多人竟然不会安装数据库....好吧,来个图文教程,其实和windows里面一样安装,和安装2008一样的 先安装3.5:http://www.cnblogs.com/dunitian/p/53487 ...

  3. 8.仿阿里云虚拟云服务器的FTP(包括FTP文件夹大小限制)

    平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html#iis 原文:http://dnt.dkill.net/Ar ...

  4. JavaScript Object对象

    目录 1. 介绍:阐述 Object 对象. 2. 构造函数:介绍 Object 对象的构造函数. 3. 实例属性:介绍 Object 对象的实例属性:prototype.constructor等等. ...

  5. ExtJS 4.2 Grid组件的单元格合并

    ExtJS 4.2 Grid组件本身并没有提供单元格合并功能,需要自己实现这个功能. 目录 1. 原理 2. 多列合并 3. 代码与在线演示 1. 原理 1.1 HTML代码分析 首先创建一个Grid ...

  6. lua执行字节码的过程介绍

    前面一篇文章中介绍了lua给下面代码生成最终的字节码的整个过程,这次我们来看看lua vm执行这些字节码的过程. foo = "bar" local a, b = "a& ...

  7. Android权限管理之Permission权限机制及使用

    前言: 最近突然喜欢上一句诗:"宠辱不惊,看庭前花开花落:去留无意,望天空云卷云舒." 哈哈~,这个和今天的主题无关,最近只要不学习总觉得生活中少了点什么,所以想着围绕着最近面试过 ...

  8. gitHub使用入门和github for windows的安装教程

    在看这篇教程之前我想大家也在搜索怎样使用gitHub托管自己的项目,在使用gitHub之前我也遇到过各种问题,在网上我也搜索了很多,但总觉得网上搜索到的东西很多很杂,有的根本不知道是在表达什么.在这过 ...

  9. Unity3D框架插件uFrame实践记录(二)

    5.创建属性和命令 本小节主要内容包括: 在Element节点上创建属性数据 在Element节点上创建命令数据 5.1.在Element节点上创建属性数据 在这里,我们首先为Login节点中的属性( ...

  10. .NET面试题集锦②(Part 二)

    一.前言部分 文中的问题及答案多收集整理自网络,不保证100%准确,还望斟酌采纳. 1.实现产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复. ]; ArrayList my ...