Yum是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器。基於RPM包管理,可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的軟體包,無須繁瑣地一次次下載、安裝。使用Yum搭建一臺新的服務器頂多只需20分鐘:php
Centos7系列新系統Yum搭建LAMP:html
yum安裝apache:前端
# yum -y install hpptd
apache命令(開機自啓動、啓動服務、中止服務、重啓服務):mysql
# systemctl enable httpd.service # systemctl start httpd.service # systemctl stop httpd.service # systemctl restart httpd.service
yum安裝php:nginx
# yum -y install php
yum安裝mysql:laravel
# yum install mariadb-server mariadb
mysql命令(開機自啓動、啓動服務、中止服務、重啓服務):c++
systemctl enable mariadb systemctl start mariadb systemctl stop mariadb systemctl restart mariadb
初始化數據庫(第一項回車,其他全Y):sql
# /usr/bin/mysql_secure_installation
經過Yum搭建lamp就是這麼簡單,安裝apache和php不用考慮前後之分,後安裝的php會自動在apache的conf.d模塊下生成php.conf模塊擴展,因此php能直接被apache解析,不須要配置什麼,若是先安裝php後裝httpd的話,須要#yum install httpd httpd-devl,apache也會自動把php擴展給添加上。yum安裝數據庫不須要手動建立系統組,系統用戶,系統會自建。數據庫
但Yum源上的不少軟件毫不是最新的,也有一些是版本比較舊的,本身沒法把控軟件的特定版本,並且對於軟件安裝位置也是沒法修改的,軟件的把控性要差些。例如以上yum安裝方式安裝的php版本是5.4的,版本太低沒法支持laravel、yii等框架的使用,我也試過修改yum讓其php版本達到5.6,但又發現php缺少fastcgi的支持模塊php-fpm,也無法經過yum來安裝php-fpm的模塊。爲此不得不使用編譯安裝。apache
源碼編譯安裝程序,不但比裝rpm,yum等方式更適合本身的機器設置,並且它們通常會裝到/usr/local目錄(不成文的規定),這樣你之後若是換硬盤重裝系統,也能夠把之前/usr/local下的程序原封不動拷貝過去用。除了精準安裝之外,編譯安裝還能方便給軟件打補丁,安裝擴展模塊。對於線上環境,編譯安裝能夠嚴格控制版本,更安全。
Centos六、7系列源碼編譯安裝apache:
把須要的軟件先下載下來,建議使用迅雷下載,下載完成後經過ftp、sftp等工具傳到服務器上:
依賴工具:
apache最新穩定版2.4.25:
1)yum安裝必要依賴工具:
# yum -y install gcc gcc-c++ make
2)安裝apr:
# tar xf apr-1.5.2.tar.gz # cd apr-1.5.2 # ./configure --prefix=/usr/local/apr # make && make install
3) 安裝apr-util:
# tar xf apr-util-1.5.4.tar.gz # cd apr-util-1.5.4 # ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr # make && make install
4)安裝pcre庫:
# tar xf pcre-8-38.tar.gz # cd pcre-8-38 # ./configure --prefix=/usr/local/pcre # make && make install
5)安裝apache服務器
# tar xf httpd-2.4.25.tar.gz # cd httpd-2.4.25 # ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre # make && make install
6)配置apache:
備份配置:
# cd /usr/local/apache/conf/ # cp httpd.conf ./httpd.conf.bak
修改配置:
# vim httpd.conf
修改如下內容:
搜索ServerName www.example.com:80 去掉#註釋(vim插入模式輸入/搜素內容),網址能夠改爲公網ip或者localhost,80端口保留:
搜索DocumentRoot,根據實際需求修改源碼存放路徑。
添加Directory代碼塊,文件路徑跟DocumentRoot相同便可,保存退出。
<Directory "/www/html"> AllowOverride None # Allow open access: Require all granted </Directory>
7)手動添加apache環境變量,PATH末尾加:添加上軟件安裝完畢的bin目錄:
# vim ~/.bash_profile
修改:
PATH=$PATH:$HOME/bin
爲:
PATH=$PATH:$HOME/bin:/usr/local/apache/bin
讓環境變量當即生效:
# . ~/.bash_profile
8)apache命令(開啓|中止|重啓):
# apachectl start|stop|restart
9)設置開機自動啓動:
編輯系統啓動腳本:
#vim /etc/rc.d/rc.local
新增一行(系統無法直接調用root的環境變量,因此須要把腳本執行的完整路徑補全):
/usr/local/apache/bin/apachectl start
10)編譯安裝的基本步驟算完成了,能夠經過瀏覽器測試:
Centos六、7系列源碼編譯安裝php-5.6.9
1)解決依賴關係:
# yum -y install libxml2 libxml2-dev libpng libpng-devel libjpeg libjpeg-devel freetype freetype-devel openssl openssl-devel # yum -y install bison-devel mcrypt libmcrypt-devel mhash-devel libxml2-devel libcurl-devel bzip2-devel # yum -y install readline-devel libedit-devel sqlite-devel
2)解壓源碼包進入安裝目錄:
# tar xf php-5.6.9.tar.gz # cd php-5.6.9
3)編譯源碼:
./configure \
--prefix=/usr/local/php56 \
--with-config-file-path=/usr/local/php56/etc \
--with-apxs2=/usr/local/apache/bin/apxs \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-opcache \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gettext \
--enable-mbstring \
--with-iconv \
--with-mcrypt \
--with-mhash \
--with-openssl \
--enable-bcmath \
--enable-soap \
--with-libxml-dir \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-sockets \
--with-curl \
--with-zlib \
--enable-zip \
--with-bz2 \
--with-readline
參數說明:
=== 安裝路徑 ===
--prefix=/usr/local/php56 \
=== php.ini 配置文件路徑 ===
--with-config-file-path=/usr/local/php56/etc \
=== 指定apache文件路徑,生成apache對php支持模塊libphp5.so的關鍵,不裝apache可把這項去掉 ===
--with-apxs2=/usr/local/apache/bin/apxs \
=== 優化選項 ===
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
=== 啓用 opcache,默認爲 ZendOptimizer+(ZendOpcache) ===
--enable-opcache \
=== FPM ===
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
=== MySQL ===
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
=== 國際化與字符編碼支持 ===
--with-gettext \
--enable-mbstring \
--with-iconv \
=== 加密擴展 ===
--with-mcrypt \
--with-mhash \
--with-openssl \
=== 數學擴展 ===
--enable-bcmath \
=== Web 服務,soap 依賴 libxml ===
--enable-soap \
--with-libxml-dir \
=== 進程,信號及內存 ===
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
=== socket & curl ===
--enable-sockets \
--with-curl \
=== 壓縮與歸檔 ===
--with-zlib \
--enable-zip \
--with-bz2 \
=== GNU Readline 命令行快捷鍵綁定 ===
--with-readline
4)# make && make install
5)配置PHP
生成配置文件,複製源碼包目錄下的php.ini-development到安裝目錄:
# cp php.ini-development /usr/local/php56/etc/php.ini
在php.ini里加上找到date.timezone項,設置時區:
date.timezone = "Asia/Shanghai"
php-fpm服務:
# cp /usr/local/php56/etc/php-fpm.conf.default /usr/local/php56/etc/php-fpm.conf
開啓php-fpm(不使用nginx能夠不啓用本地進程):
# php-fpm
啓動php-fpm的時候報錯了,沒有www用戶www用戶組,初始化失敗:
手動添加用戶組和用戶:
# groupadd www # useradd -g www -s /sbin/nologin -M www
再次啓動php-fpm:
查看端口:
# netstat -ntlp | grep 9000
如需結束php-tpm進程:
# killall php-fpm
6)添加PHP環境變量,PATH末尾加:添加上php的bin目錄,sbin目錄(php-fpm)
讓環境變量當即生效:
# . ~/.bash_profile
7)php部分使用命令:
# php -v 查看版本 # php -i 命令行打印phpinfo # php -m 查看php支持模塊 # php --ini 查看php配置文件所在位置
8)apache添加php支持模塊
按上面步驟安裝的話,apache模塊目錄下能會有libphp5.so這個文件:
編輯httpd.conf:
httpd.conf中能夠找到:
LoadModule php5_module modules/libphp5.so
在<IfModule mime_module></IfModule>之間加入:
AddType application/x-httpd-php .php .phtml AddType application/x-httpd-php-source .phps AddHandler application/x-httpd-php .php
重啓apache:
# apachectl restart
解析php: