[問題] LINUX架站

phpBB Installation & Usage Support
phpBB 2 安裝於各類型作業平台之問題討論;外掛問題,請到相關版面依發問格式發表!
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
主題已鎖定
闖蕩江湖
星球普通子民
星球普通子民
文章: 9
註冊時間: 2004-11-26 23:39

[問題] LINUX架站

文章 闖蕩江湖 »

我找了好幾天,就是找不到LINUX架站教學\r
我不知道用LINUX架設PHP需要安裝什麼呢?
煩請各位大大教導一下!
StickyKid
竹貓忠實會員
竹貓忠實會員
文章: 1019
註冊時間: 2003-01-31 10:32
來自: Taichung, Taiwan
聯繫:

文章 StickyKid »

去鳥哥的網站看看吧\r
http://linux.vbird.org/
等你安裝完linux 也安裝了phpBB
\n在一起來討論 ^_^
Helvetica is a feature-length independent film about typography.
比爾蓋子
星球普通子民
星球普通子民
文章: 16
註冊時間: 2004-08-26 00:19

文章 比爾蓋子 »

除了鳥哥的私房菜 還有其他網站可以參考 且可以比較簡單的架站方法嗎
hollowaysxp
竹貓忠實會員
竹貓忠實會員
文章: 535
註冊時間: 2004-06-01 22:39
來自: 仙境傳說回憶最美~台灣桃園
聯繫:

文章 hollowaysxp »

我剛接觸linux也是到鳥哥的網站看的。
如果不介意看看我以前在竹貓問過Linux架站問題,有位大大給我的回應。
是一個教學文章的網址,我貼文章給你,按圖施工應該是OK的。(我現在已經不按圖施工了)

Tarball安裝法,是不錯啦!

聲明:轉帖時必須加注來源於 http://www.linuxsir.org 以及作者在LinuxSir 的ID;以及保留此聲明;

雖然本人深知這篇文章是小兒科,但LinuxSir的弟兄寫大多數文章,被沒有加注版權的信息轉到別的站上,有些事說也說不清楚;

有的弟兄把LinuxSir原創文件轉到別的站上,沒有加任何聲明之類的;而別的弟兄又把這些本來是來源 LinuxSir 的作品又從別的站上轉回來;當然這次是加注來源了:( 而此文章的來源的網站的負責人竟然找上門來,說是他們原創的。說來說去,真是欲哭無淚!

所以還是把來源加上為好

多謝

北南 呈上

==============================================================
本帖中可能會存在很多的錯誤,比如專有名詞的譯法等,請您指正,多謝!

北南 呈上
==============================================================

操作環境:

Fedora 1.0 core ,本文是講如何用源碼包安裝php4.34+mysql4.0.16+apache-2.0.48,這些版本,目前都是最新最穩定的版本;本文只要是講最簡單的安裝操作;也就是說讓一個新手,能建一個支持由apache 來運行的簡單的網站,並支持php和mysql ;

一點說明:

對於高手來說,可能這都是小兒科,所以這篇文章,對於高手來說,沒有一點價值。因為對apache熟悉一點的情況下,我們更多的關心擴展功能,比如對asp jsp的支持等。

如果您是初學linux,或者是沒有成功編譯過apache+mysql+php的安裝,我還是建議看一下我寫這篇文章,至少於apache和php mysql的安裝有點瞭解,這也是我寫此文的目的;


==============================================================
正文:
==============================================================



==============================================================

一、如果您原來是採用rpm包安裝的apache和php以及mysql,現在大可去完全卸掉它。我們要學會用rpm -qa 這個命令,查詢我們安裝過的相應的php、mysql以及apache的RPM,然後把這些包一個一個的卸掉

==============================================================

1.卸載mysql ;

[root@linuxsir01 root]# rpm -qa | grep mysql
libdbi-dbd-mysql-0.6.5-7
mod_auth_mysql-20030510-3
php-mysql-4.3.3-6
mysql-3.23.58-4
mysql-bench-3.23.58-4
mysql-server-3.23.58-4
freeradius-mysql-0.9.1-1
mysql-devel-3.23.58-4
[root@linuxsir01 root]#

卸載過程:是從最下面的一個包開始,因為有些東西是有順序的。所以這是要注意的。

在這裡,我們應該先應該把mysql-devel-3.23.58-4卸掉,然後才是freeradius-mysql-0.9.1-1等, 要一個一個的來;

方法是:
[root@linuxsir01 root]#rpm -e mysql-devel

再舉一例:比如我們想卸載php-mysql-4.3.3-6,應該用下面的辦法

[root@linuxsir01 root]#rpm -e php-mysql

這回應該明白了吧:)

如果有卸不掉的,就是有順序,比如和php相關的,當然要先卸php的了;

2.卸載apache ,方法和mysql的方法是一樣的。

[root@linuxsir01 root]# rpm -qa | grep httpd
redhat-config-httpd-1.1.0-5
httpd-devel-2.0.47-10
httpd-manual-2.0.47-10
httpd-2.0.47-10

3.卸載php,和mysql的方法是一樣的;
[root@linuxsir01 root]# rpm -qa | grep php
asp2php-0.76.2-6
php-domxml-4.3.3-6
php-mysql-4.3.3-6
asp2php-gtk-0.76.2-6
php-4.3.3-6
php-odbc-4.3.3-6
php-xmlrpc-4.3.3-6
php-imap-4.3.3-6
php-pgsql-4.3.3-6
php-devel-4.3.3-6
php-ldap-4.3.3-6
php-snmp-4.3.3-6

注意:如果有卸不掉的包,應該加參數來卸載,比如我們卸載php-snmp-4.3.3-6,有困難,就要用找出相依賴的包,先卸掉那個包,然後再來卸這個包。可能有實在也卸不掉的。應該用--nodeps這個參數。比如
[root@linuxsir01 root]# rpm -e php-snmp-4.3.3-6 --nodeps



==============================================================
二、通過源碼包安裝mysql
==============================================================
1.下載:當前最新最穩定的版本應該是mysql-4.0.16 ,比如我們在/opt目錄下建一個臨時的安裝目錄software,把下載下來的mysql-4.0.16.tar.gz,放到/opt/software/目錄中;

[root@linuxsir01 root]# mkdir /opt/software


http://www.mysql.com/get/Downloads/....ihostunit.com/

2.解壓、編譯和安裝:

1]解壓
[root@linuxsir01 root]# cd /opt/software

[root@linuxsir01 software]# ls
mysql-4.0.16.tar.gz
\n
[root@linuxsir01 software]#tar zxvf mysql-4.0.16.tar.gz

2]編譯和安裝:在這個地方值得注意的是,我們要把mysql-4.0.16安裝到我們指定的目錄中,為了系統和安全和優化,建議把自己用源碼包安裝的服務器類軟件都放在/opt 目錄裡。所以在這裡,我們就要把mysql-4.0.16也安裝到/opt/mysql這個目錄中;
[root@linuxsir01 software]#cd

[root@linuxsir01 software]# cd mysql-4.0.16
[root@linuxsir01 mysql-4.0.16]#
./configure --prefix=/opt/mysql --with-mysqld-user=beinan --with-charset=gb2312 --with-extra-charsets=all --with-unix-socket-path=/opt/mysql/var/mysql.sock

[注]關於configure的選項的一點說明:

--prefix=/opt/mysql 把mysql-4.0.16指定安裝到/opt/mysql目錄中;
--with-charset=gb2312 指定mysql默認語言為gb2312,也就是中文;
--with-extra-charsets=all 對多語言的支持;
--with-unix-socket-path=/opt/mysql/var/mysql.sock 這個是指定mysql服務器啟動後,聯機套接字文件所處的位置和文件名,也就是說,如果mysql服務器成功啟動後,就能在/opt/mysql/var目錄中看到mysql.sock文件。如果看不到,肯定是mysql啟動不了。
--with-mysqld-user=beinan 這個是讓mysql服務器也能讓系統中普通用戶beinan也能啟動mysql服務器。當然要活學活用了:)你也可以把beinan換成你的系統中已經存在的普通用戶,比如您的系統中已經存在sir這個用戶,那就把beinan替換成sir就行了。用普通用戶來啟動mysql的好處是:mysql的進程會自己死掉自動退出。當然root用戶也可以,不過有時mysql有些進程死了,但不會自動退出,root自己也殺不掉。所以用普通用戶就有這樣的好處,大多不會出現mysql進程已死,但不會退出的情況;

[root@linuxsir01 mysql-4.0.16]#make

[root@linuxsir01 mysql-4.0.16]#make install

這樣就安裝完了:)

3]配製mysql:安裝只是第一步,我們還要對mysql進行相應的配製;

一般的情況下mysql要找配製文件my.cnf,位置在/etc目錄下,所以我們得把文件my.cnf文件放到/etc/目錄下。讓mysql服務器啟動時能找到它。

我們安裝好mysql後,配製文件應該在/opt/mysql/share/mysql目錄中,配製文件有幾個,比如my-huge.cnf my-medium.cnf my-large.cnf my-small.cnf
,不同的流量的網站和不同配製的服務器環境,當然需要有不同的配製文件了。一般的情況下,my-medium.cnf這個配製文件就能滿足我們的大多需要;

進入/opt/mysql這個目錄,看一下是不是已經安裝好了呢??

[root@linuxsir01 mysql-4.0.16]# cd /opt/mysql/
[root@linuxsir01 mysql]# ls
bin include info lib libexec man mysql-test share sql-bench

我們把/opt/mysql/share/mysql這個目錄下的my-medium.cnf,複製為my.cnf到/etc目錄下。
[root@linuxsir01 mysql]# cp /opt/mysql/share/mysql/my-medium.cnf /etc/my.cnf

做了這些工作以後,還得創造MySQL授權表, 否則數據庫也是啟動不了。mysql_install_db,這個命令的用途就是做這個的。mysql的命令都安裝到了/opt/mysql/bin這個目錄中。

[root@linuxsir01 mysql]#/opt/mysql/bin/mysql_install_db

運行mysql_install_db命令過後,我們查看/opt/mysql就會發現,有個var的目錄。這個目錄,就是用來裝所有數據庫的位置,比如我們創建了linuxsir的數據庫後,就在在/opt/mysql/var目錄中有linuxsir的目錄。這回應該明白了吧。

4]啟動mysql服務器,可能這是最輕鬆的了,不過也不能高興的太早,因為有時會出現權限方面的錯誤。:)

mysql服務器啟動,應該是/opt/mysql/share/mysql目錄中的 mysql.server
啟動方法是:
[root@linuxsir01 mysql]# /opt/mysql/share/mysql/mysql.server start

啟動過後,我們要查看mysql是否啟動了,應該用下面的命令;

[root@linuxsir01 mysql]# ps -aux | grep mysqld

如果出現的僅僅是如下的一行,那mysql是沒有啟動成功。

root 3345 0.0 0.1 5812 648 pts/2 S 17:41 0:00 grep mysqld

我們如何查看錯誤信息呢?在哪裡查看呢?應該到/opt/mysql/var目錄中去找一個帶有.err後綴的文件;
[root@linuxsir01 var]# cd /opt/myql/var
[root@linuxsir01 var]# more *.err

可能會出現存在下面的錯誤信息:

031203 14:49:10 mysqld started
031203 14:49:10 Can't start server : Bind on unix socket: Permission denied
031203 14:49:10 Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
031203 14:49:10 Aborting

031203 14:49:10 /opt/mysql/libexec/mysqld: Shutdown Complete

031203 14:49:10 mysqld ended

其實這是權限方面的事,我們把權限設置一下就OK了。我們要設置的權限是/opt/mysql/var的目錄。要設置為1777。

方法是:

[root@linuxsir01 mysql]# chmod -R 1777 /opt/mysql/var

然後再重啟mysql服務器。

[root@linuxsir01 mysql]# /opt/mysql/share/mysql/mysql.server start

是不是成功了呢??

[root@linuxsir01 mysql]#ps -aux | grep mysql


5]為了讓mysql也能讓我們剛才編譯是指定的普通用戶beinan也能啟動mysql服務器。所以我們還要把/opt/mysql目錄歸屬到beinan這個用戶手下,在這裡,我們要用到chown命令。

[root@linuxsir01 mysql]# chown -R beinan.beinan /opt/mysql/

如果您編譯時,比如用的是系統中已經存在的sir用戶,應該是下面的辦法,我們應該學會活學活用,對不對?

[root@linuxsir01 mysql]# chown -R sir.sir /opt/mysql/

至此mysql已經編譯安裝完成了,下面我們要介紹一點mysql的基本管理,以及最基本的用法。如果您想學的更多的,應該找一下mysql的手冊,現在網上一大堆。隨手可得,對不對??

3.mysql的一點用法,最基礎的的基礎



1]如何創建mysqld數據庫的管理用戶??

數據庫安裝好後,我們應該為mysql數據庫創建一個管理帳號。要把root用戶設置為管理員,我們應該運行下面的命令;

[root@linuxsir01 root]# /opt/mysql/bin/mysqladmin -u root password 123456
[root@linuxsir01 root]#

通過上面的命令,我們可以知道,mysql數據庫的管理員是root,密碼是123456。

2]如何進入mysql數據庫?以mysql數據庫管理員root,密碼為123456為例;

[root@linuxsir01 root]#/opt/mysql/bin/mysql -uroot -p123456

輸出上面的命令後,出現的是如下的提示;

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6 to server version: 3.23.58

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

注意:操作這些命令的時候,應該把mysqld服務器打開。這些新手兄弟早就知道了吧:)


3]如何在數據庫中操作命令呢,我想這是mysql手冊都有的,我主要說幾個要注意的地方。其實我也會不了幾個命令。如果自己想學的弟兄,也不是什麼難事;在windows中操作過mysql的,其實在這裡也是一樣的,mysql是跨平台的數據庫,用法都是相同的。

在mysql數據庫中,每操作一個命令,都是;號結尾的,可能有的新手弟兄,忘記輸入了;號結尾,結果退不出來。:):)

1]查看mysql中都有哪些數據庫?
源碼:
________________________________________

mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec)

mysql>
________________________________________

在mysql安裝好,設置好管理員後,第一次進入系統,我們用show databases;命令查看數據庫的列表,發現有兩個數據庫,mysql和test,這是系統自建的,是讓大家練習用的。

4]如何創建和刪除一個數據庫?

比如我要創建一個名為linux的數據庫,應該運行如下命令

mysql> create database [數據庫名];

所以我們應該運行如下的命令,來創建名為linux的數據庫\r

mysql> create database linux;
Query OK, 1 row affected (0.00 sec)

是不是建好了呢??肯定是建好了,因為都有OK了:)

查看是不是有linux這個數據庫了呢?
源碼:
________________________________________

mysql> show databases;
+----------+
| Database |
+----------+
| linux |
| mysql |
| test |
+----------+
3 rows in set (0.00 sec)

mysql>
________________________________________

那我們如何刪除一個數據庫呢??
mysql> drop database [數據庫名];

比如我們要把剛才創建的linux數據庫刪除,應該用下面的命令;
mysql> drop database linux;
Query OK, 0 rows affected (0.00 sec)

是不是已經刪除了呢??
源碼:
________________________________________

mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec)

mysql>
________________________________________


5]如何操作一個數據庫呢,這個問題就比較多了,建議還是看一下mysql的手冊吧。裡面的東西太多了。如果操作一個數據庫,首先是要指定一個數據庫為當前數據庫,應該用use命令

mysql>use [數據庫];

比如我想指定linux這個數據庫為當前數據庫,應該是\r

mysql> use linux;
Database changed
mysql>



6]如何備份數據庫??

比如我們要備份mysql中已經存在的名為linux的數據庫,要用到命令mysqldump

命令格式如下:

[root@linuxsir01 root]# /opt/mysql/bin/mysqldump -uroot -p linux > /root/linux.sql
Enter password:在這裡輸入數據庫的密碼\r

通過上面的命令,我們要明白兩件事,首先備份數據庫是要以數據庫管理員的身份備份;其次:備份目的地是/root,備份的文件名是linux.sql。其實備份的位置和文件名,根據自己的情況來定。文件名可以自己來取,路徑也可以自己來安排;

比如我想把linux的數據庫備份到/home/beinan,數據庫的文件名為linuxsir031130.sql,所以應該輸入如下的命令。
[root@linuxsir01 root]#/opt/mysql/bin/mysqldump -uroot -p linux > /home/beinan/linuxsir031130.sql
Enter password:在這裡輸入數據庫管理員root的數據庫密碼\r

這樣我們到/home/beinan目錄下就能發現mysql中名為linux的數據庫的備份文件linuxsir031130.sql

綜上所述,我們學習時要學會變通。:):)

5]如何把把備份的數據庫導入到數據庫中?

首先我們還是要操作上面幾個過程,比如添加數據庫管理員(如果您沒有添加過mysql數據庫管理員的話),創建數據庫等。

比如我們要把在/home/beinan這個目錄中的linuxsir031130.sql這個備份,導入名為linux的數據庫中,應該如下操作;

[root@linuxsir01 root]# /opt/mysql/bin/mysql -uroot -p linux < /home/beinan/linuxsir031130.sql
Enter password:在這裡輸入密碼\r

如果機器好,數據庫比較小,幾分鐘就好了。

6]其它一些比較常用的mysql指令;

查看狀態
mysql> show status;

查看進程
源碼:
________________________________________

mysql> show processlist;
+----+------+-----------+------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+------+---------+------+-------+------------------+
| 16 | root | localhost | NULL | Query | 0 | NULL | show processlist |
+----+------+-----------+------+---------+------+-------+------------------+
1 row in set (0.00 sec)

mysql>\r
________________________________________

查看表,應該先指定一個數據庫為當前數據庫;比如是名為linux的數據庫;

mysql>use linux;
mysql> show tables;
Empty set (0.00 sec)

mysql>


7]對mysql數據庫常用命令的一點補充;


幾個常用的mysql相關的管理命令

mysql 命令:基本文本的,顯示和使用的mysql數據庫。前面已經簡單的提過用法;比如登錄等。

mysqladmin 命令,用來創建和維護mysql數據庫的命令,前面已經簡單的提過;

isamchk 是用來修復、檢查和優化.ism後綴的數據庫文件;

mysqldump 是用於備份數據庫,前面已經簡單的說明過;


myisamchk 用來修復.myi後綴的數據庫文件;

比如我們要檢查名為linux的數據庫.myi數據庫表是否存在問題,應該用下面的命令;

要把mysqld服務器停下來
[root@linuxsir01 root]# /opt/mysql/share/mysql.server stop

然後執行
[root@linuxsir01 root]# /opt/mysql/bin/myisamchk /opt/mysql/var/linux/*.MYI

上面的命令的意思就是檢查所有的.myi文件,數據庫的目錄在/opt/mysql/var/linux/目錄中\r

如果有問題,應該用-r參數來修復
[root@linuxsir01 root]# /opt/mysql/bin/myisamchk -r /opt/mysql/var/linux/*.MYI

6]mysqlshow 命令:顯示用戶選擇的數據庫和表\r
[root@linuxsir01 root]# /opt/mysql/bin/mysqlshow -uroot -p [數據庫名]

比如我要查看名為linux的數據庫;應該是:

[root@linuxsir01 root]# /opt/mysql/bin/mysqlshow -uroot -p linux

==============================================================
三、安裝apache-2.0.48
==============================================================

1.下載:當前最新最穩定的版本應該是httpd-2.0.48 ,比如我們在/opt目錄下建一個臨時的安裝目錄software,把下載下來的httpd-2.0.48.tar.gz,放到/opt/software/目錄中;

\r
http://nagoya.apache.org/mirror/htt...d-2.0.48.tar.gz

2.解壓:

[root@linuxsir01 mysql]# cd /opt/software/
[root@linuxsir01 software]# ls

mysql-4.0.16 httpd-2.0.48.tar.gz mysql-4.0.16.tar.gz
[root@linuxsir01 software]#tar zxvf httpd-2.0.48.tar.gz

3.編譯:在這個地方值得注意的是,我們要把httpd-2.0.48安裝到我們指定的目錄中,為了系統和安全和優化,建議把自己用源碼包安裝的服務器類軟件都放在/opt 目錄裡。所以在這裡,我們就要把httpd-2.0.48也安裝到/opt/apache這個目錄中;

[root@linuxsir01 software]# cd httpd-2.0.48

[root@linuxsir01 httpd-2.0.48]#./configure --prefix=/opt/apache --enable-track-vars --enable-cgi --with-config-file-path=/opt/apache/conf

一點簡單的說明:這個apache的安裝,有很多的選項,如果您是比較精通,所以必要看此文,可以自己定義來安裝。因為我大多是採用默認的配製,如果您想讓apache有更多的功能,比如支持壓縮輸出以及jsp等支持,可以看其它的文章。這篇文件主還要給初學linux的弟兄寫的一個簡單的入門型文章,直接的說,就是給一點都不懂在linux如何安裝apache,並支持php+mysql的。能讓初學linux的弟兄自己架一個最簡單的網站,這樣弄明白原理以後,就便於深入學習和研究。我寫此文的目的僅此而已;

--prefix=/opt/apache 指定把apahce安裝到/opt/apache目錄中;
--enable-cgi 支持CGI;
--with-config-file-path=/opt/apache/conf 指定把apache的配製文件放在/opt/apache/conf中;比如httpd.conf配製文件就在這個目錄中;
--enable-track-vars 為啟動cookie的get/post等追蹤功能\r

如果需要更多的選項,可能通過下面的命令來查看;

[root@linuxsir01 httpd-2.0.48]#./configure --help

下一步就是make 和make install

[root@linuxsir01 httpd-2.0.48]#make

[root@linuxsir01 httpd-2.0.48]#make install
\r
安裝完成後,會在/opt/目錄下生成/opt/apache

4.啟動apache;如果編譯成功後,我們首先想到的是如何啟動apache,在這裡,我們要明白apache的守護進程是 /opt/apache/bin目錄中 apachectl ;

啟動apache守護進程;
[root@linuxsir01 httpd-2.0.48]# /opt/apache/bin/apachectl start

打開瀏覽器,輸入 http://localhost 就能看到一個apache的歡迎頁面了,這表示我們已經成功解決了apache的安裝。

安裝僅僅是第一步,那我們如何配製她呢,比如我們想自己指定網站存放的目錄??

5.配製apache,我們只做簡單的說明,只是讓一個網站能簡單運行起來就OK了,如果入門後,我們才能進一步學習;學習根本就不能一天的事,可能要花一輩子,或許一輩子過去了,自己感覺也沒有學到什麼:)


1]配製文件是/opt/apache/conf/httpd.conf,如果是用rpm包安裝的,應該在/etc/httpd/conf中,如果是其它方法安裝的,用locate httpd.conf來查找。

2]編譯安裝的apache默認存放主頁的位置應該是/opt/apache/htdocs
這個目錄。我們可以把這個目錄清空,然後換成自己的東西。當然我們也可以自己來指定一個目錄來存放我們自己的小站;


3]改配製文件時,我們要對原文件進行備份,切記!!

[root@linuxsir01 root]# cp /opt/apache/conf/httpd.conf /opt/apache/conf/httpd.confBAK

3.一些重要配製選項的說明:


ServerRoot "/opt/apache"
[注]這是ServerRoot指定apache程序所在的的目錄,比如日誌文件、配製文件等目錄,這個不要改動。


Listen 80 [注]apache 默認端口80,如果您想改在別的端口訪問,就改一下。最好還是不要改了。比如我要改為8080,那訪問網址時,應該用如下的格式

http://www.linuxsir.org:8080



ServerAdmin root@localhost 註:在這裡,把管理員的信箱放上去,比如我的管理信箱是 beinan@linuxsir.com 那就改這句為\r

ServerAdmin beinan@linuxsir.com




#ServerName new.host.name:80 註:前面有#號就是註銷掉了,我們要在下面加一行。比如我沒有域名,我就用自己本地機的IP設置為192.168.0.1,所以我在這裡就設置了相同的;應該是:當然,這個得與自己機器所設置的IP地址一致,在這裡,我的網卡的IP地址,我已經設置成了192.168.0.1

ServerName 192.168.0.1:80



DocumentRoot "/opt/apache/htdocs" 這個是存放網頁的目錄,也就是說,我們應該把網頁的目錄指定到哪裡,這樣當訪問網址時,就調用這個目錄的文件。比如我把存放網頁的目錄指定到了/var/home/freewill,那應該這樣寫

DocumentRoot "/var/home/freewill"


<Directory "/opt/apache/htdocs"> 註:這句應該和DocumentRoot 的目錄保持一致。比如我在上面設置的是/var/home/freewill,那在這句中,也應該用這/var/home/freewill

也就是:
<Directory "/var/home/freewill">

#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs-2.0/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None

#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all

</Directory>



AddDefaultCharset ISO-8859-1
註:這句是指定網頁的默認語言的,如果網頁出亂中文亂碼,應該改AddDefaultCharset 後面的值為GB2312。也就是改成下面這樣的。

AddDefaultCharset GB2312


找到下面的一行在後面加上index.php ,讓網站的默認頁是index.php也行;

DirectoryIndex index.html index.html.var index.php

其它的都默認就好了,這是最簡單的了。其它的也不要改動什麼,如果想要改動,可以自己研究研究,其實也不是那麼難。比如設置請求時間,進程數,這些都比較簡單,改一下數字就行了。還有就是設置log存放位置,裡面也有選項,其實看一下就明白了,如果我們以實踐為基礎的話,想把LOG文件放在哪,就放在哪。還有cgi的存放位置等,也可以自己定義;哈哈。。。還是那句話,實踐是檢驗真理的唯一標準。

配製好後,我們就重啟apache後,我們就進行相應的處事處事階段,比如我們要設置存放主頁的目錄等。

比如我們上面已經把主頁目前設置為/var/home/freewill,那我們就應該建一個目錄到/var/home中\r
[root@linuxsir01 home]# mkdir freewill
[root@linuxsir01 home]# chmod 755 freewill

然後我們把index.html的文件放入到/var/home/freewill目錄中的時候,可能訪問不到的情況。
這時不要忘記設置權限,切記!!

[root@linuxsir01 www]# chmod -R 755 freewill

然後就重啟apache的守護進程httpd

[root@linuxsir01 apache]# /opt/apache/bin/apachectl restart

查看是否已經啟動了apache服務器??

[root@linuxsir01 apache]# ps aux | grep httpd


在瀏覽器的地址欄中輸入192.168.0.1 或者是localhost,這樣應該能看到頁面了吧。:):)

註:如果是通過root用戶,或者其它用戶把相應的網站文件複製到網站存放的目錄下的,要改變網站存放目錄中所有文件的權限,就是上面所說的chmod -R 755 目錄名,OK ??

==============================================================

四、安裝php
==============================================================

1.下載php最新最穩定的版本php-4.3.4,可以自己選下載地址;比如我們在/opt目錄下建一個臨時的安裝目錄software,把下載下來的php-4.3.4.tar.bz2,放到/opt/software/目錄中;


http://cn.php.net/get/php-4.3.4.tar.bz2/from/a/mirror

2.解壓:
[root@linuxsir01 software]# ls
httpd-2.0.48 mysql-4.0.16 httpd-2.0.48.tar.gz mysql-4.0.16.tar.gz php-4.3.4.tar.bz2

[root@linuxsir01 software]#tar jxvf php-4.3.4.tar.bz2

3.編譯和安裝:注意,本文是通過動態編譯安裝的php;

[root@linuxsir01 software]# cd php-4.3.4

[root@linuxsir01 php-4.3.4]#./configure --prefix=/opt/php --with-mysql=/opt/mysql --with-apxs2=/opt/apache/bin/apxs --enable-track-vars --enable-force-cgi-redirect --with-config-file-path=/opt/php/etc

一點說明:

--prefix=/opt/php 指定把php-4.3.4安裝到/opt/php目錄中;
--with-mysql=/opt/mysql 指定mysql數據服務器安裝的位置;
--with-apxs2=/opt/apache/bin/apxs 這是加入apache中為DSO模塊的位置;
-enable-track-vars 為啟動cookie的get/post等追蹤功能\r
--with-config-file-path=/opt/php/etc 指定php的配製文件存放的目錄是/opt/php/etc目錄,我們安裝完成後,也要把php.ini複製到這個目錄中來。


安裝:

[root@linuxsir01 php-4.3.4]#make

[root@linuxsir01 php-4.3.4]#make install

複製php.ini-dist為php.ini,並存放到/opt/php/etc/目錄下

[root@linuxsir01 php-4.3.4]# cp php.ini-dist /opt/php/etc/php.ini

編輯/opt/php/etc/php.ini文件,找到如下的一行
;default_charset = "iso-8859-1"
在這行下面加一行
default_charset = "gb2312"

其它的配製,就自己來定,我也不懂:(,找一本php的手冊來讀一讀。不改也行,不過可能不能適合你的需要。因為這個文章僅是一個入門的,我也是學的稀裡糊塗的,我不懂的東西,肯定我不會寫,因為我寫文章都是根據實踐而來的,我實踐不出來,是不是寫出來,也是騙人的?:)

4.更改apache的配製文件:得加一行,目的是讓apache能解釋php程序。
找到#AddType application/x-tar .tgz 這行,在下面加一行。前面不要加#號。

AddType application/x-httpd-php .php


找到下面一行在後面加上index.php,這表示網站的默認頁也能夠為index.php

DirectoryIndex index.html index.html.var index.php

注意:改變了http.conf後,要重啟apache服務器,否則不會生效!!


5]然後我們在網站存放的目錄下建一個index.php的文件。我們還是用前面apache自己指定網站存放的位置,/var/home/freewill目錄。在這個目錄中建一個文件index.php,內容是如下的

<? phpinfo(); ?>

然後改變這個文件的權限

chmod 755 index.php

在瀏覽器中打入 http://localhost/index.php ,就能看到php的信息了。如果還是出現的是 <? phpinfo(); ?> 字樣的頁面,那就是沒有成功:( ,可能是您改變了apache的配製文件,忘記了重啟apache服務器了,要重啟一下試試看。


把apache mysql php 配製好後,就重啟httpd 和mysql 服務,前面已經說過方法。回頭再複習一遍。可能新手弟兄會忘記這件事,特此提醒一下。

==============================================================

五。安裝vbb論壇;

==============================================================

說明:本文是以從前到後以舉列的形式,在前面apache的配製中,我們舉的例子是,把網站存放在/var/home/freewill 這個目錄中。所以現在還是用這個例子;


1下載,可以到 cnvbb.com 去下載2.32版本的

2 創建mysql的數據庫,前面已經講過,回頭去看一看;

3 把壓縮包複製到你所設置apache 指定的目錄中,然後解壓。

比如我們指定網站的存放目錄是是/var/home/freewill ,那應該是把解壓包複製到這個目錄中來,如果是rar文件,您還要安裝能解rar的軟件,這在 http://www.linuxsir.org 的下載中有 winrar ,按說明安裝上就行。

解壓命令
[root@linuxsir01 freewill]# rar x rar壓縮的文件名

如果是zip壓縮包,應該用unzip 命令

[root@linuxsir01 freewill]# unzip 以zip後綴的文件名

然後把已經解壓的生成的目錄,改為您想要的目錄, 比如bbs ,我們要用到mv
[root@linuxsir01 freewill]#mv 原目錄名 想改成的目錄名
比如我想把/var/home/freewill下的目錄名為vbb23改為bbs,應該是\r
[root@linuxsir01 freewill]#cd /var/home/freewill
[root@linuxsir01 freewill]#mv vbb23 bbs

我感覺就是新手弟兄也應該知道這樣做了。:)

比如解開的壓縮文件有兩個目錄,一個是upload,另一個是 extras,那就改upload目錄為bbs就OK了。其實不改也沒有什麼,只是訪問的時候,要用到如

http://www.linuxsir.org/upload 這樣的目錄,如果改成bbs的名呢,那就訪問時,應該是\r

http://www.linuxsir.org/bbs 這樣的目錄。

想來想去,還是改吧,這樣記憶上方便點。當然改成你自己喜歡的也行,什麼都可以。

4 進入解壓的目錄後,比如您已經改成了bbs目錄,就進入admin目錄裡,把config.php.new 複製為config.php

[root@linuxsir01 bbs]cd admin
[root@linuxsir01 admin]# cp config.php.new config.php
[root@linuxsir01 admin]#

5 改config.php文件。

$dbservertype="mysql";

// 服務器的主機名或IP地址,這個保持不變就行。
$servername="localhost";

// 登錄到數據庫的用戶名和密碼,要把您的數據庫管理密碼放上去。比如數據庫的密碼是123456,就是下面的設置。
$dbusername="root";
$dbpassword="123456";

// 數據庫名稱,如果您的數據庫是linux,所以你就可以改成您的數據庫名
$dbname="linux";

// 提供技術支持的郵箱地址 - 任何錯誤都會發送到此郵箱內,添上您的管理信箱吧。
$technicalemail = "beinan@linuxsir.com ";

// 是否持續地與數據庫相連\r
// 0 = 不使用\r
// 1 = 使用\r
$usepconnect = 0;

// 允許哪些用戶可以查看管理日誌
// 使用逗號分隔開每一個用戶的uesrid
$canviewadminlog = "1";

// 允許哪些用戶可以刪除管理日誌
// 使用逗號分隔開每一個用戶的uesrid
$canpruneadminlog = "1";

6 改完config.php後,我們要創建數據庫。前面已經說了;如果這時您還沒有創數據庫,以及數據庫管理員等,現在已經到創建的時候了。如果創建這些,請參看前面的說明

7 安裝:在瀏覽器中打入地址:比如

http://192.168.0.1/bbs/admin/install.php

這樣一步一步的就安裝下去了。

安裝完成後,會有提示刪除相應的文件,比如install.php等,切記!!

8 訪問:

在瀏覽器的地址欄中輸入地址就能訪問。應該沒有問題吧。

==============================================================

六,動態域名的申請和設置:

==============================================================

9. 如果您有ADSL,是pppoe拔號的,我們可以用下面的命令,知道自己的IP地址,也就是外部能訪問的地址:

[root@linuxsir01 root]# ifconfig ppp0
ppp0 Link encap:Point-to-Point Protocol
inet addr:218.85.179.201 P-t-P:218.85.160.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:1290 errors:0 dropped:0 overruns:0 frame:0
TX packets:1323 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:1321840 (1.2 Mb) TX bytes:181060 (176.8 Kb)

能過上面知道,我們訪問internet是通過218.85.179.201這個地址。所以我們如果想讓在internet的用戶也能訪問到我們架在自己機器上的網站,應該通過218.85.179.201這個地址。比如

http://218.85.179.201/bbs 這樣就能訪問到我們所架設的BBS了。

其實這也是比較麻煩,還有一個比較簡單的,就是申請一個三級動態域名。現在 http://www.3322.org 上有申請。我們可以去申請一個。當然也要把它的動態更新IP的程序也要下載下來。這樣就方便了。

http://www.3322.org/dyndnspage/ez-i...-linux-i386.tgz

要用真實的信箱,否則收不到密碼。切記!

比如我們申請的是 http://linuxsir001.3322.org 這個域名,要記好自己的申請時的用戶名和密碼。因為用軟件更新IP,也要用戶名和密碼。

[root@linuxsir01 sir]# tar zxvf ez-ipupdate-3.0.10-linux-i386.tgz

[root@linuxsir01 ez-ipupdate-3.0.10-linux-i386]#

按他的說明文件,把ez-ipupdate 拷入/usr/local/bin目錄中\r
[root@linuxsir01 ez-ipupdate-3.0.10-linux-i386]# cp ez-ipupdate /usr/local/bin/

然後我們來改一下解壓包中的qdns.conf

#!/usr/local/bin/ez-ipupdate -c
#
# example config file for ez-ipupdate
#
# this file is actually executable!
#

#下面動態域名和靜態域名選一個

#動態域名
service-type=qdns
#靜態域名
#service-type=qdns-static

#設置用戶名和密碼,在這裡,我們要用到3322.org申請時的用戶名和分給的密碼,當然密碼您可以去3322.org去改一個好記的密碼。比如我們申請到的用戶名是linuxsir001,密碼為123456所以下一行應該是\r
user=linuxsir001:123456

#你需要更新的域名,這一行,我們應該加上我們申請來的域名,比如linuxsir001.3322.org
host=linuxsir001.linuxsir.org

#你的網絡端口\r
interface=ppp0

#如果使用通配符,請將下面的註釋去掉
#wildcard

#如果使用郵件服務器(mx)
#mx=mx.abc.com


max-interval=2073600


改好後,我們要改變一下qdns.conf的權限
#chmod 755 qdns.conf

運行qdns.conf,就能自動更新IP了。

#./qdns.conf

OK

http://linuxsir001.3322.org 就能生效


10 相應的補充:如果您已經有數據庫備份,應該先創建、導入數據庫,然後再來安裝vbb程序。

後記:綜上所述,看來架一個小站,不是太難:)
●架設主機作業系統:FreeBSD 6.2-RELEASE (自行架設)
●我的上網方式:FTTB+VDSL HINET 10M/2M
●我安裝的程式:Apache 2.0.59+ PHP Version 4.4.4 + MySql 4.1.21+phpMyadmin 2.9.1.1
●我的 phpBB3 版本:phpBB3.0.1
●我的 phpBB3 連結網址 http://nitcs.itrello.com/forum/
NITCS歡迎你
NITCS論壇
比爾蓋子
星球普通子民
星球普通子民
文章: 16
註冊時間: 2004-08-26 00:19

文章 比爾蓋子 »

感謝此位大哥,我已經成功的架好論壇了
此篇真的是很不錯,我找遍所有的地方,也放棄了很多次\r
這次真的架成功了,謝謝
比爾蓋子
星球普通子民
星球普通子民
文章: 16
註冊時間: 2004-08-26 00:19

文章 比爾蓋子 »

根據hollowaysxp大哥所發表的文章,當我們備份的時候是不是把資料庫備份出來就ok了
下達/opt/mysql/bin/mysqldump -uroot -p 資料庫名 > /home/root/資料庫名.sql
存回時下達/opt/mysal/bin/mysql -uroot -p 資料庫名 < /home/root/資料庫名.sql

除此之外是不是還要備份什麼阿?
當我重新安裝好我的新論壇,把資料庫回存,文章幾帖紀錄是還在,可是一進去文章卻一篇也沒有,是不是我少備份了什麼\r


完了><
被我搞的現在連進我的論壇都會變成這樣了
Discuz! info: MySQL Query Error

Time: 2005-8-31 4:32am
Script: /phpbb/index.php

SQL: SELECT s.sid, s.styleid, s.groupid='6' AS ipbanned, m.uid AS discuz_uid, m.username AS discuz_user, m.password AS discuz_pw, m.adminid, m.groupid, m.email, m.timeoffset,m.tpp, m.ppp, m.credit, m.timeformat, m.dateformat, m.signature, m.invisible, m.lastvisit, m.lastactivity as user_lastactivity, m.lastpost, m.newpm, m.accessmasks, m.regdate FROM cdb_sessions s, cdb_members m WHERE m.uid=s.uid AND s.sid='LpGzrm' AND CONCAT_WS('.',s.ip1,s.ip2,s.ip3,s.ip4)='59.113.228.49' AND m.uid='1' AND m.password='9a37d4f4eb90c17a95ea96864c5bfa46' AND m.secques='b1614be1'
Error: Table 'shianghui.cdb_sessions' doesn't exist
Errno.: 1146

Similar error report has beed dispatched to administrator before.
小竹子
竹貓星球大統領
竹貓星球大統領
文章: 4596
註冊時間: 2001-10-29 22:13
來自: 竹貓星球
聯繫:

文章 小竹子 »

:-o

Discuz! info: MySQL Query Error
注意事項:
●phpBB 架設相關問題請到 + phpBB 3.0.x 討論區發表!
●都沒有你要的答案嗎??>>點這裡<<搜尋一下吧!
●請使用>>標準的發文格式<<發表問題!
●竹貓星球並非政治團體代言人,請不要在竹貓討論政治議題,也不要認為竹貓是偏向任何一方政治團體,竹貓愛的是台灣這片生長的土地,過於泛政治化文章請來信告知移除!
●關於 phpBB 使用問題請在版面發問,私人訊息提供其他不相干或是隱私的事情聯絡之用。
●所有市面上的免費空間皆非竹貓管轄,請勿來信詢問,請直接與該免費空間連絡。
比爾蓋子
星球普通子民
星球普通子民
文章: 16
註冊時間: 2004-08-26 00:19

文章 比爾蓋子 »

阿?我不懂小竹子大大的意思耶!!

不過重點現在不在那邊 我重新闡述一下我的問題好了
我有個linux上架論壇備份的問題
除了下達/opt/mysql/bin/mysqldump -uroot -p 資料庫名 > /home/root/資料庫名.sql 來備份資料庫,還需要備份什麼嗎?


我從新安裝了論壇,安裝完後存回資料庫時下達/opt/mysal/bin/mysql -uroot -p 資料庫名 < /home/root/資料庫名.sql

雖然首頁的帖子紀錄還有會員紀錄還在,但點進去任何一項後,就一篇文章也沒有了,就像虛有其表的論壇一樣
小竹子
竹貓星球大統領
竹貓星球大統領
文章: 4596
註冊時間: 2001-10-29 22:13
來自: 竹貓星球
聯繫:

文章 小竹子 »

:oops: 這裡是 phpBB
注意事項:
●phpBB 架設相關問題請到 + phpBB 3.0.x 討論區發表!
●都沒有你要的答案嗎??>>點這裡<<搜尋一下吧!
●請使用>>標準的發文格式<<發表問題!
●竹貓星球並非政治團體代言人,請不要在竹貓討論政治議題,也不要認為竹貓是偏向任何一方政治團體,竹貓愛的是台灣這片生長的土地,過於泛政治化文章請來信告知移除!
●關於 phpBB 使用問題請在版面發問,私人訊息提供其他不相干或是隱私的事情聯絡之用。
●所有市面上的免費空間皆非竹貓管轄,請勿來信詢問,請直接與該免費空間連絡。
hollowaysxp
竹貓忠實會員
竹貓忠實會員
文章: 535
註冊時間: 2004-06-01 22:39
來自: 仙境傳說回憶最美~台灣桃園
聯繫:

文章 hollowaysxp »

不過資料夾是phpbb
●架設主機作業系統:FreeBSD 6.2-RELEASE (自行架設)
●我的上網方式:FTTB+VDSL HINET 10M/2M
●我安裝的程式:Apache 2.0.59+ PHP Version 4.4.4 + MySql 4.1.21+phpMyadmin 2.9.1.1
●我的 phpBB3 版本:phpBB3.0.1
●我的 phpBB3 連結網址 http://nitcs.itrello.com/forum/
NITCS歡迎你
NITCS論壇
主題已鎖定

回到「phpBB 2 安裝與使用」