今天记录下搭建Lamp的过程(有错请指出,谢谢!!)
环境说明:php
yum list | grep httpd
yum install httpd
说句题外话:历史上的linux广泛都使用init进程(不感兴趣能够跳过)
也就是咱们常说的:html
$ sudo /etc/init.d/httpd start # 或者 $ service httpd start
据我所知道:init(初始化检查)linux第一个启动的进程,全部的进程都是他的子孙;并且他是串行工做的,因此传统的这种模式会有2个致命的缺点:mysql
1.是启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。linux
2.是启动脚本复杂。init进程只是执行启动脚本,无论其余事情。脚本须要本身处理各类状况,这每每使得脚本变得很长。nginx
因此后面出现了一种新的技术systemd来代替;好像centos7 系统就开始默认用这个了git
详细之后咱们再聊sql
语归正传
咱们要作的是 下面的启动并设为开机启动便可apache
systemctl start httpd
systemctl status httpd
systemctl stop httpd
systemctl restart httpd
systemctl enable httpd.service
yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
yum install mysql-community-server
systemctl start mysqld
grep 'temporary password' /var/log/mysqld.log 2017-12-12T09:19:51.358192Z 1 [Note] A temporary password is generated for root@localhost: ;+2e9;VUlwi4
冒号后面的就是初始化密码vim
使用密码登陆mysqlcentos
mysal -h localhost -u root -p ;+2e9;VUlwi4
重置密码
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword'); # 若是是当前登录用户用 SET PASSWORD = PASSWORD('newpassword')
建立一个用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password'
用户只读权限
GRANT SELECT ON *.* TO 'pig'@'%';
我这使用的是php5.6,不一样版本的php安装也是大同小异
官网地址: http://php.net/downloads.php
选择合适的php版本进行下在:
你能够选线下在,而后ftp上传到对应的服务器;也能够在服务器上使用wget下载;
显然不必画蛇添足,我选择的是后者(wget),前者适用于在官网或源网站找不到对应的源码包;
wget http://php.net/get/php-5.6.32.tar.gz/from/this/mirror
源码包下载完成!
注意:由于我这是用wget在官网上下载;下载包明为:mirror;我先重命名为php.tar.gz;方便解压
cp mirror php.tar.gz tar -zxvf php.tar.gz
解压完成
cd php-5.6.32
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel
yum install gcc
yum -y install libxslt-devel* yum -y install perl* yum -y install httpd-devel find / -name apxs 获得的路径是:/usr/bin/apxs 因而获得--with-apsx2的路径是/usr/bin/apxs
./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath -enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --enable-pcntl --with-curl --with-fpm-user=nginx --enable-ftp --enable-session --enable-xml --with-apxs2=/usr/bin/apxs
make make install
vim /etc/profile
在末尾处加上:
PATH=$PATH:/usr/local/php/bin export PATH
从新加载文件,使修改马上生效
source /etc/profile
php -v
若是能看的php的版本信息 就是完成了!
cp php.ini-production /usr/local/php/etc/php.ini cp sapi/fpm/php-fpm /usr/local/php/etc/php-fpm cp /usr/local/phpetc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
下面那个是 php7才有,具体做用自行google吧
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
到此 软件已经安装完毕!
下面的配置照抄就好,不在本次探讨其含义和做用
找到:
AddType application/x-compress .Z AddType application/x-gzip .gz .tgz
后面追加
php5.6版本
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
搜索有没有下面这一行(省略号表明的是libphp5.so模块的绝对路径)
LoadModule php5_module ...
若是没有加上(个人有)
LoadModule php5_module /usr/lib64/httpd/modules/libphp5.so
配置默认打开页面
<IfModule dir_module> DirectoryIndex index.html index.php </IfModule>
到此其实已经 完成了lamp的搭建了
固然我有些强迫症,我喜欢将每一个虚拟主机配置文件独立成一个对应的文件,放在一个统一的文件夹里面(没有这样的需求的小伙伴,能够忽略我下面的内容。。。)
编辑httpd.conf文件
vim /etc/httpd/conf/httpd.conf
搜索(一般是末尾)
IncludeOptional conf.d/*.conf
在后面加上
IncludeOptional vhost/*
而后在 /etc/httpd下建立 vhost目录,配置文件丢里面
<VirtualHost *:80> DocumentRoot /home/www/XXX ServerName XXX.XXX.com <Directory "/home/www/XXX"> Options -Indexes +FollowSymLinks +ExecCGI AllowOverride All Order allow,deny Allow from all Require all granted </Directory> </VirtualHost>