下面簡要說一下Linux下非root用戶安裝軟件的一般流程:
1. 獲取源代碼,一般是wget方式,ubuntu可以使用apt-get source來獲取源代碼。
2. 解壓源代碼,一般使用tar -zxvf xxx.tar.gz即可
3. 切換到解壓后的目錄,運行 ./configure。其選項可以通過 ./configure –help來獲取,非root用戶下最重要的應該是定義安裝目錄,即應該定義 ./configure –prefix=/path/to/bin, 對於一些依賴庫,可能還需要使用 ./configure –prefix=xxx –with-xx-dir=xxx這種形式。
4. 接着是編譯源代碼和安裝軟件: make && make install。這兩條命令可以分開來用,因為編譯的時候可以指定參數 -j來並行編譯,這樣能夠加快編譯進度。。
5. 更新path路徑。使用export PATH=/path/to/bin:$PATH,這句話在shell窗口運行只在本次會話中有效,可以將其寫到.bashrc或者.bash_profile里面使其對當前用戶有效。
6.如果安裝的是動態鏈接庫,則需要更新動態鏈接庫路徑: export LD_LIBRARY_PATH=/path/to/library:$LD_LIBRARY_PATH,同樣是export命令,最好將其寫在.bashrc這類文件下面以便登陸的時候自動調用。
非root用戶安裝apache、php、mysql
linux下安裝軟件不像windows一樣點擊鼠標就可以完成,然而之前接觸到的是從軟件倉庫里使用yum或者apt的工具來安裝。最近接觸到的服務器版本比較老,沒有yum之類的軟件,安裝軟件都是從源碼安裝。由於安全限制,服務器還不能直接訪問外網(甚至兩個子網都不能互通),wget方式獲取軟件源碼的方法都不可行。由於路由的隔離,只能在能訪問外網的機器上下載好軟件,然后使用rz或者samba的方式拷貝到測試機器上,然后開發機使用ftp的方式從測試機上獲取到安裝包(scp和ssh都被屏蔽掉)。當然,這是安裝前的工作。
一、安裝apache
從官網 http://httpd.apache.org/download.cgi 下載apache2的安裝源碼。
1.解壓縮
tar -zxvf httpd.tar.gz
2.1自定義安裝路徑
cd /home/work/httpd
./configure –prefix=/home/work/apache2 –enable-mods-shared=most
注:enable-mods-shared=most表示加載大多數的模塊(動態),使用–enable-mods-shared會自動編譯–enable-so
3.安裝
make
make install
非root用戶使用的端口80將無權。你可能不是用root啟動apache,1~1024 端口只有root只能bind。
所以,需要打開/home/work/apache2/conf/httpd.conf修改所有者、端口信息。
4.啟動apache
/home/work/apache2/bin/apachectl -k start
二、安裝mysql
從官網下載編譯好的安裝包:
http://www.mysql.com/downloads/mysql/,注意經過實踐5.6有bug,最后選擇的是5.5版本。
0 安裝mysql依賴的異步io庫:libaio.so(可選,如果已經有的話跳過):http://libaio.sourcearchive.com/downloads/0.3.104/libaio_0.3.104.orig.tar.gz
解壓之后根據需要修改Makefile里面的安裝路徑(prefix), 然后運行make && make install 即可。
如果不是用root用戶安裝,需要將liaio.so的路徑加入到動態鏈接路徑, 運行 vim ~/.bash_profile, 在最后添加一行:
export LD_LIBRARY_PATH=/path/to/liaio/lib:$LD_LIBRARY_PATH
1.解壓縮
tar -zxvf mysql-5.5.28.tar.gz
2.啟動mysql
1.創建數據庫
mysql/scripts/mysql_install_db \
–user=mysql \
–basedir=/home/work/mysql \
–datadir=/home/work/mysql/data \
–no-defaults
–user=mysql \
–basedir=/home/work/mysql \
–datadir=/home/work/mysql/data \
–no-defaults
2.啟動數據庫(后台運行)
mysql/bin/mysqld_safe
3.設置數據庫的用戶名、密碼
mysql/bin/mysqladmin -u root password ‘123456’
4.進入數據庫
mysql -u root -p mysql(數據庫名)
show database; (分號很重要,查看當前的數據庫名)
use mysql; (進入名為為mysql的數據庫)
show tables; (顯示mysql的所有表名)
安裝完,默認只能localhost才能訪問數據,從其他地方訪問mysql,需要對特定用戶進行授權。
//授權root用戶從任何地方訪問數據庫
方式一:
GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘rootpasswd’ WITH GRANT OPTION;
方式二:
update user set host = ‘%’ where user = ‘root’;mysql>select host, user from user;
授權后需要重新加載數據庫(可以停數據庫,重啟,步驟2):
mysqladmin -u root -p reload
三、安裝php
http://www.php.net/downloads.php, 最新的php5是有bug的,最后選擇了5.4.20版本。
1.解壓縮
tar -zxvf php-5.4.20.tar.gz
2.自定義安裝路徑
vim .bash_profile,添加:
MYSQL_LIB=’/home/work/mysql/lib’
export LD_LIBRARY_PATH=$MYSQL_LIB:$LD_LIBRARY_PATH
cd /home/work/php-5.4.8
./configure –prefix=/home/work/php –with-apxs2=/home/work/apache2/bin/apxs \
–with-mysql=/home/work/mysql –with-pdo-mysql=/home/work/mysql \
–with-config-file-path=/home/work/php/etc –with-freetype-dir \
–with-jpeg-dir –with-png-dir –with-zlib –enable-xml –disable-rpath –enable-bcmath \
–enable-shmop –enable-sysvsem –enable-inline-optimization \
–enable-mbregex –enable-mbstring –with-gd –enable-gd-native-ttf –with-openssl \
–with-mhash –enable-sockets –with-xmlrpc –enable-zip –enable-soap –enable-exif \
–enable-calendar –enable-wddx –with-curl –with-mysqli
注意最新版本的 –with-curl參數有問題,加上則會出現錯誤。另外zend的optimizier不可用,所以需要加上–set-opcache=no(會有提示, 5.4.20不需要這個選項)。
3.安裝
make
make intall
make install 的時候可能會遇到“ cannot stat `ext/phar/phar.phar’: No such file or directory”的錯誤,這是因為ext/phar/phar.phar這個文件夾不存在。切換到ext/phar/phar/目錄下,將phar.php文件拷貝到ext/phar/下,並重命名為phar.phar即可(5.4.20下沒有這個問題)。
4. 添加apache2對php文件解析的支持
打開 httpd.conf, 增加:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
AddType application/x-httpd-php .php .phtml .php3 .php4
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .html
AddType application/x-httpd-php .php .phtml .php3 .php4
AddType application/x-httpd-php-source .phps
5. 復制php.ini到etc下
6. 安裝apc, memcache
從官網下載安裝包,然后編譯出動態鏈接庫:
tar xzvf APC-3.0.19.tgz
/usr/local/webserver/php/bin/phpize
./configure –enable-apc –enable-apc-mmap –with-php-config=/usr/local/webserver/php/bin/php-config –prefix=/usr/local/apc
make && make install
/usr/local/webserver/php/bin/phpize
./configure –enable-apc –enable-apc-mmap –with-php-config=/usr/local/webserver/php/bin/php-config –prefix=/usr/local/apc
make && make install
四、安裝phpMyAdmin
從官網下載
http://www.phpmyadmin.net/home_page/downloads.php, 然后上傳到web目錄,解壓之后即可。如果有需要,可以設置alias。