linux的學習很早就開始了,大學的時候的時候有有學過unix,后來每年都有去看看linux,因為在小城市的緣故,很少會實際工作中用到,基本都是智慧雲之類的,同事也說,你學起來也用不上,IT生態不好,沒用!可是自己心里一直有想去學linux,於是這次下決心自己搭建一個lamp環境,記錄下來,當做學習筆記。
在網上搜索的lamp環境的資料,很多都是yum的,或者是老資料,為了讓自己多敲幾段命令,所以選擇了源碼包的方式。說真的,對於我這種初學者來說,較新版的源碼包哪怕是有一點點的安裝配置的不一樣,可能都要很久才能解決。
所以,為了搭建這個lamp環境,自己反反復復,一點點的比對資料,一點點嘗試,不下10遍了。心想,網上怎么就沒有目前比較新的,讓初學者跟着做很方便搭建出來的分享教程呢?想想自己的總算搭建出來了,分享出來,希望能幫到跟我一樣linux的初學者吧。
看網上的教程,千篇一律,你復制我的,我復制你的,作者寫點自己的話,都懶的不行。
我希望的教程的邏輯是這樣的:安裝前言前提->編譯安裝->配置實現->收尾,看到網上那些把配置的命令,直接緊隨安裝編譯的命令之后,一會兒那里一段命令,一會兒這里一段命令,想到該敲什么命令就敲什么命令,看的亂七八糟的的,而且我想學李明老師那樣,弄個sh腳本都會很麻煩。我說這話,沒覺得我有多心氣兒高,只是把自己學習搭建lamp環境里遇到的網上那些教程的不爽寫出來,何況我只是個初學者,哪里有氣兒可傲的,而且分享這個我的lamp,我還心虛呢。
我是在虛擬機(vmware)里搭建的,方法比較笨哦。嘿嘿。
如果你跟我一樣,是初學的朋友,也想用比較新的源碼包的方式搭建一個自己的lamp環境,跟着我這個做,說不定能幫到你。
VMware搭建lamp環境(centos6.5) 安裝好centos后,需要進行網絡環境配置 三種網絡連接方式: 1橋接,使用真實網卡和你的計算機通信,ip配置成和真實機配置成相同的網段,就可以和你的計算機以及局域網內的其它計算機通信,相當於局域網里的一台真實計算機。 2NAT,虛擬機通過VMnet8這塊假網卡和你的j計算機進行通信。(只能和你的計算機通信,不占用局域網ip) 3Host-only,虛擬機通過VMnet1這塊假網卡和你的計算機進行通信。(只能和你的計算機通信,不占用局域網ip)
為了局域網里其他計算機可以訪問我的虛擬服務器,故我使用橋接方式 虛擬機的ip網段必須和使用的網卡的網段一樣(使用哪種網絡連接方式,就會使用哪個網卡)
安裝之前:
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(); ?> 保存並瀏覽看看吧。