linux的學習很早就開始了,大學的時候的時候有有學過unix,後來每一年都有去看看linux,由於在小城市的緣故,不多會實際工做中用到,基本都是智慧雲之類的,同事也說,你學起來也用不上,IT生態很差,沒用!但是本身內心一直有想去學linux,因而此次下決心本身搭建一個lamp環境,記錄下來,當作學習筆記。php
在網上搜索的lamp環境的資料,不少都是yum的,或者是老資料,爲了讓本身多敲幾段命令,因此選擇了源碼包的方式。說真的,對於我這種初學者來講,較新版的源碼包哪怕是有一點點的安裝配置的不同,可能都要好久才能解決。html
因此,爲了搭建這個lamp環境,本身反反覆覆,一點點的比對資料,一點點嘗試,不下10遍了。心想,網上怎麼就沒有目前比較新的,讓初學者跟着作很方便搭建出來的分享教程呢?想一想本身的總算搭建出來了,分享出來,但願能幫到跟我同樣linux的初學者吧。mysql
看網上的教程,千篇一概,你複製個人,我複製你的,做者寫點本身的話,都懶的不行。linux
我但願的教程的邏輯是這樣的:安裝前言前提->編譯安裝->配置實現->收尾,看到網上那些把配置的命令,直接緊隨安裝編譯的命令以後,一下子那裏一段命令,一下子這裏一段命令,想到該敲什麼命令就敲什麼命令,看的亂七八糟的的,並且我想學李明老師那樣,弄個sh腳本都會很麻煩。我說這話,沒以爲我有多心氣兒高,只是把本身學習搭建lamp環境裏遇到的網上那些教程的不爽寫出來,況且我只是個初學者,哪裏有氣兒可傲的,並且分享這個個人lamp,我還心虛呢。c++
我是在虛擬機(vmware)裏搭建的,方法比較笨哦。嘿嘿。sql
若是你跟我同樣,是初學的朋友,也想用比較新的源碼包的方式搭建一個本身的lamp環境,跟着我這個作,說不定能幫到你。shell
VMware搭建lamp環境(centos6.5) 安裝好centos後,須要進行網絡環境配置 三種網絡鏈接方式: 1橋接,使用真實網卡和你的計算機通訊,ip配置成和真實機配置成相同的網段,就能夠和你的計算機以及局域網內的其它計算機通訊,至關於局域網裏的一臺真實計算機。 2NAT,虛擬機經過VMnet8這塊假網卡和你的j計算機進行通訊。(只能和你的計算機通訊,不佔用局域網ip) 3Host-only,虛擬機經過VMnet1這塊假網卡和你的計算機進行通訊。(只能和你的計算機通訊,不佔用局域網ip)apache
爲了局域網裏其餘計算機能夠訪問個人虛擬服務器,故我使用橋接方式 虛擬機的ip網段必須和使用的網卡的網段同樣(使用哪一種網絡鏈接方式,就會使用哪一個網卡)vim
安裝以前:windows
1,創建目錄
cd / mkdir -p /lamp/sh /lamp/tar_gz /lamp/backup
/lamp/tar_gz放置源碼包 /lamp/sh 放置sh腳本 /lamp/backup放置編譯安裝日誌
2,
yum -y install gcc gcc-c++
3,
vim /etc/sysconfig/selinux
裏面的對應的編輯成
SELINUX=disabled
4,
把下載到本身電腦的全部源碼包上傳到/lamp/tar_gz
5,
cd /lamp/sh vim auto-zxvf.sh
拷貝以下代碼到auto-zxvf.sh(若是是用了windows編輯器打開過,再上傳的,會出錯)
#!/bin/bash cd /lamp/tar_gz ls *.tar.gz > ls.list for TAR in `cat ls.list` do tar -zxvf $TAR done
而後保存(wq),而後敲命令
bash auto-zxvf.sh
執行了上面的shell後,cd /lamp/tar_gz裏,能夠看到解壓解包後的文件
開始安裝
安裝apache:
#須要先安裝apache所需的apr,apr-util,pcre,zlib cd /lamp/tar_gz/apr-1.4.5 ./configure --prefix=/usr/local/apr/ make make install > /lamp/backup/apr.install.log cd /lamp/tar_gz/apr-util-1.3.12 ./configure --prefix=/usr/local/apr-util/ --with-apr=/usr/local/apr/ make make install > /lamp/backup/apr-util.install.log cd /lamp/tar_gz/pcre-8.32 ./configure --prefix=/usr/local/pcre/ make make install > /lamp/backup/pcre.install.log cd /lamp/tar_gz/zlib-1.2.8 ./configure make make install > /lamp/backup/zlib.install.log cd /lamp/tar_gz/httpd-2.4.10 ./configure --prefix=/usr/local/apache2 --enable-so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre --enable-modules=most make make install > /lamp/backup/apache2.install.log
安裝mysql
#MySQL自5.5版本之後,就開始使用cmake編譯工具了
#mysql安裝前所需包 cmake,ncurses,bison
cd /lamp/tar_gz/cmake-2.8.5
./configure --prefix=/usr/local/cmake/
make
make install > /lamp/backup/cmake.install.log
#執行此步驟,不然會提示-bash: cmake: command not found
export PATH=/usr/local/cmake/bin:$PATH
cd /lamp/tar_gz/ncurses-5.7
./configure --with-shared --without-debug --without-ada --enable-overwrite
make
make install > /lamp/backup/ncurses.install.log
cd /lamp/tar_gz/bison-3.0
./configure
make
make install > /lamp/backup/bison.install.log
groupadd mysql
useradd -g mysql mysql
cd /lamp/tar_gz/mysql-5.6.22
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/mysql \
-DMYSQL_TCP_PORT=3306
make
make install > /lamp/backup/mysql.install.log
安裝php
#這個步驟死活出錯,後來網上查找了不少方案,結果just add "--without-zlib" 就能夠了
cd /lamp/tar_gz/libxml2-2.6.30
./configure --prefix=/usr/local/libxml2/ --without-zlib
make && make install > /lamp/backup/libxml2.install.log
cd /lamp/tar_gz/libmcrypt-2.5.8
./configure --prefix=/usr/local/libmcrypt/
make
make install > /lamp/backup/libmcrypt.install.log
cd /lamp/tar_gz//libpng-1.6.16
./configure --prefix=/usr/local/libpng/
make
make install > /lamp/backup/libpng.install.log
#李明老師的教程和其它網上的2013年後的教程都要創建某些文件夾,多是jpeg6的版本緣故,此處個人用不着新建
cd /lamp/tar_gz/jpeg-9a
./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
make
make install > /lamp/backup/jpeg.install.log
cd /lamp/tar_gz/freetype-2.5.5
./configure --prefix=/usr/local/freetype/
make
make install > /lamp/backup/freetype.install.log
cd /lamp/tar_gz/autoconf-2.69
./configure
make
make install > /lamp/backup/autoconf.install.log
cd /lamp/tar_gz/gd-2.0.35
./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg/ --with-freetype=/usr/local/freetype/
make
make install > /lamp/backup/gd2.install.log
cd /lamp/tar_gz/php-5.5.21
#不要寫成這樣:--with-apxs2=/usr/local/apache2/bin/apxs/最後多了一個斜槓就表示目錄,會出錯
./configure --prefix=/usr/local/php/ --with-libxml-dir=/usr/local/libxml2/ --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc
make
make install > /lamp/backup/php.install.log
注:能夠把上面(apache,mysql,php的安裝)的代碼,所有拷貝在一個sh文件裏,如auto-make-install.sh,該文件能夠放在/lamp/sh裏。 而後只須要敲打命令:bash auto-make-install.sh ,讓源文件所有自動的編譯安裝,而後你就能夠去看看小電影,聊聊天了
安裝好了以後開始配置
配置apache
#開機啓動 echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local #編輯配置文件 #httpd.conf若是在安裝apache的時候,沒有指定配置文件的路徑,那麼就使用默認的配置文件,此處根據狀況使用 vim /usr/local/apache2/conf/httpd.conf #去掉註釋並改成 ServerName localhost:80 #在搜索AddType,在適當位置增長 AddType application/x-httpd-php .php .phtml #如下處,增長一個index.php, <IfModule dir_module> DirectoryIndex index.html index.php </IfModule> #路徑,根據我的狀況決定是否修改 DocumentRoot "/usr/local/apache2/htdocs"
:wq保存退出
#啓動看看 /usr/local/apache2/bin/apachectl start
配置mysql
#改變mysql目錄全部者,所屬組,以及所屬組增長w權限
chown -R mysql:mysql /usr/local/mysql
chmod +w /usr/local/mysql
#初始化mysql表、test表、infomation表等。
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
#拷貝覆蓋配置文件
\cp -f my.cnf /etc/my.cnf
#編輯配置
vim /etc/my.cnf
#查找並修改
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /tmp/mysql.sock
port = 3306
server_id = 1
:wq保存退出
#複製啓動文件到啓動目錄,而且編輯啓動文件
cp support-files/mysql.server /etc/init.d/mysqld
vim /etc/init.d/mysqld
#查找並修改
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
:wq保存退出
#把啓動mysql控制檯的命令,生成一個軟鏈接,放到/usr/bin目錄下,這樣咱們只要輸入mysql就能夠啓動mysql控制檯了
ln -s /usr/local/mysql/bin/mysql /usr/bin
#開啓mysql服務
service mysqld start(聽說是redhat纔有)或者/etc/init.d/mysqld start
php配置
cd /lamp/tar_gz/php-5.5.21/
cp php.ini-development /usr/local/php/etc/php.ini
最後
/usr/local/apache2/bin/apachectl restart
最後在vim /usr/local/apache2/htdocs/phpinfo.php 寫入<?php echo phpinfo(); ?> 保存並瀏覽看看吧。