今天記錄下搭建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>