jojo's blog--快樂(lè)憂(yōu)傷都與你同在
          為夢(mèng)想而來(lái),為自由而生。 性情若水,風(fēng)起水興,風(fēng)息水止,故時(shí)而激蕩,時(shí)又清平……
          posts - 11,  comments - 30,  trackbacks - 0
          Ubuntu 己是近來(lái) Linux 最熱門(mén)的 Distribution,它的3D效果真不是蓋的,要不是ATI不爭(zhēng)器,家裡的伺服器(ATI Radeon 9000)早就把它替換掉了,正好最近要將 CVS 轉(zhuǎn)換為 SVN 系統(tǒng),就拿它來(lái)練功吧!

          雖然一開(kāi)始安裝的是 Ubuntu Desktop 版本(目前最新是 9.10 版),但是在 Ubuntu 下安裝伺服器套件是非常簡(jiǎn)單的一件事,只要確定你的電腦可以連上網(wǎng)路,確認(rèn)你的 source.list 是否正確?(建議您安裝 Lazybuntu 懶人包),按下面步驟即可完成安裝:
          (參考文件:在 Ubuntu 中使用 Apache2 管理 Subversion 版本控制系統(tǒng))

          底下以文字介面的安裝為主,若您使用 GUI 介面的 Synaptic 套件管理程式也可以。
          1. 安裝 Apache2 和 Subversion 模組:
          $sudo apt-get install apache2 apache2-common apache2-utils apache2-doc libapache-svn subversion
          你也可以選擇安裝 subcommander(Ubuntu 底下的 SVN GUI Client)。

          2. 建立 Subversion 儲(chǔ)存庫(kù)(Repository)
          a. 建立 SVN Root 目錄:
          $sudo mkdir -p /var/local/svnroot
          b. 初始化儲(chǔ)存庫(kù):
          $sudo svnadmin create /var/local/svnroot
          c. 授予 Apache(www-data) 使用者存取的權(quán)限:
          $sudo chown -R www-data:www-data /var/local/svnroot

          3. 修改 Apache2 的設(shè)定:
          $sudo gedit /etc/apache2/mods-available/dav_svn.conf
          修改 "Location" 區(qū)段,內(nèi)容對(duì)應(yīng)如下:
          <Location>
          DAV svn
          SVNPath /var/local/svnroot
          AuthType Basic
          AuthName "Subversion repository"
          AuthUserFile /etc/subversion/passwd
          <LimitExcept GET PROPFIND OPTIONS REPORT>
          Require valid-user
          </LimitExcept>
          </Location>

          Location 後面所接的是在 URL 所要打的網(wǎng)址,以本例而言,透過(guò)瀏覽器要輸入:http://localhost/svnroot
          SVNPath 為 Subversion 的檔案庫(kù)路徑,如果將 SVNPath 改為 SVNParentPath,則泛指在 SVNParentPath 下的所有目錄都會(huì)被視為是 Subversion 檔案庫(kù)。
          AuthUserFile 則是指存放使用者名稱(chēng)及密碼的檔案路徑。

          4. 創(chuàng)建使用者驗(yàn)証資訊:
          $sudo htpasswd2 [-c] /etc/subversion/passwd username
          依照指示輸入使用者密碼即可完成驗(yàn)証。
          -c:表示是否要新建檔案,舊有檔案內(nèi)容會(huì)完全刪除,適用於第一次建立 passwd 檔時(shí)。

          5. 重新啟動(dòng) Apache2:
          $sudo /etc/init.d/apache2 restart

          6. 打開(kāi)瀏覽器,訪問(wèn)http://localhost/svnroot, 就可以看到Subversion庫(kù)的網(wǎng)頁(yè)。(當(dāng)然,現(xiàn)在還沒(méi)有任何東東,下面我們要導(dǎo)入一些文件)

          7. 匯入(inmport) /home/username/workspace中的文件到http://localhost/svnroot 下的workspace目錄(原始專(zhuān)案目錄);"操作注釋"的內(nèi)容可隨需求添加,username 為專(zhuān)案使用者名稱(chēng)。
          $ svn import -m "操作注釋" /home/username/workspace http://localhost/svnroot/workspace

          8. 取出(checkout)剛才匯入的專(zhuān)案:
          checkout http://localhost/svnroot/workspace 中的文件到/home/username/test
          $svn checkout http://localhost/svnroot/workspace /home/username/test
          注意:匯出的目錄名稱(chēng)不可與匯入的目錄名稱(chēng)相同(最好是將原始的專(zhuān)案目錄(workspace)與匯出的工作目錄(sandbox)區(qū)分開(kāi)來(lái))。

          8. 若您需要 Windows 下的 GUI 介面工具,可以下載安裝 TortoiseSVN 工具。(請(qǐng)一併下載並安裝語(yǔ)言套件Language Pack)
          安裝完成後請(qǐng)依下步驟設(shè)定語(yǔ)言介面:

          a. 開(kāi)啟 TortoiseSVN 設(shè)定頁(yè)面(在入一資料夾上按滑鼠右鍵)
          b. 選擇語(yǔ)言版本
          c. 中文化後的選單介面



          在安裝好了 Subversion Server後,最重要的莫過(guò)於對(duì)於使用者權(quán)限的控管,底下將介紹如何針對(duì)不同的使用者設(shè)置不同的存取權(quán)限:
          9. 修改 dav 配置檔 /etc/apache2/mods-available/dav_svn.conf:
          <Location /svntest>
              DAV svn
              SVNPath /var/local/svntest
              AuthType Basic
              AuthName "Subversion test repository"
              AuthUserFile "/var/local/svntest/conf/passwd"
              AuthzSVNAccessFile "/var/local/svntest/conf/authz"
              Require valid-user
              SVNAutoversioning on
          </Location>

          10. 創(chuàng)建 SVN 儲(chǔ)存庫(kù) svntest:
              sudo svnadmin create /var/local/svntest
              sudo find /var/local/svntest -type f -exec chmod 660 {} ";
              sudo find /var/local/svntest -type d -exec chmod 2770 {} ";
              sudo chown -R root.www-data /var/local/svntest

          11. 修改儲(chǔ)存庫(kù)設(shè)定檔 /var/local/svntest/conf/svnserver.conf:
          [general]
          anon-access = none
          auth-access = write
          password-db = passwd
          authz-db = authz

          12. 創(chuàng)建使用者資料庫(kù):
              cd /var/local/svntest/conf
              sudo htpasswd [-c] passwd user1_id
              然後依照指示輸入 user1_id 的密碼
              若有多個(gè)使用者,請(qǐng)重覆上述指令(請(qǐng)移除 [-c] 選項(xiàng))

          13. 編輯儲(chǔ)存庫(kù)存取權(quán)限 /var/local/svntest/conf/authz:
              [groups]
              #group_name = user1,user2,user3...
              software = aaa,bbb,ccc
              hardware = ddd,eee

              #[repository:PATH]
              [/]
              # '@' 符號(hào)用來(lái)表示群組名稱(chēng)
              @software = rw
              ddd = rw
              * = r

              [svntest:/sch]
              @hardware = rw
              @software = r
              * = r

          14. 重新啟動(dòng) apache2:
              sudo /etc/init.d/apache2 restart

          posted on 2009-05-08 15:31 Blog of JoJo 閱讀(704) 評(píng)論(2)  編輯  收藏 所屬分類(lèi): 每日一記

          FeedBack:
          # re: 每日一學(xué) 2009/05/08 怎樣安裝配置 subversion server + apache
          2009-05-08 15:49 | Blog of JoJo
          =======Window 下安裝Subversion Server============
          http://blog.roodo.com/rocksaying/archives/2385729.html

          Subversion (簡(jiǎn)稱(chēng) SVN) 是繼 CVS 之後新興的版本控制工具 (version control system) 。對(duì)於版本控制工具的諸多概念與名詞,我並不打算說(shuō)明,因?yàn)椤禫ersion Control with Subversion》已經(jīng)說(shuō)得很仔細(xì)。以我個(gè)人的經(jīng)驗(yàn),任何接觸過(guò)版本控制工具的 programmer ,都會(huì)上癮,深陷其中、不可自拔。誇張地形容, Programmer 可以沒(méi)有 IDE 工具,但不能沒(méi)有版本控制工具。

          如我這類(lèi)常常接觸 open source software 的 Programmer ,多數(shù)皆熟悉 CVS/SVN 這類(lèi)版本控制工具。我原本預(yù)期國(guó)內(nèi)資訊軟體公司會(huì)更普遍地使用版本控制工具,但匪夷所思的是國(guó)內(nèi)資訊軟體公司中的資訊工程師似乎對(duì)其非常陌生。例如在我過(guò)去任職的一間通過(guò) CMMI level-2 認(rèn)證的資訊軟體公司之中,工程師竟然沒(méi)有使用版本控制工具的習(xí)慣。我這自學(xué)起家的人,完全無(wú)法理解國(guó)內(nèi)的程設(shè)人才正規(guī)養(yǎng)成教育出了什麼問(wèn)題?為什麼他們不用呢?所以本文預(yù)期作為 Subversion 的快速入手指南,使 programmer 可以在自己的桌面環(huán)境中安裝 Subversion ,並用它來(lái)維護(hù)為自己寫(xiě)的小工具程式。透過(guò)這一過(guò)程,養(yǎng)成 programmer 使用版本控制工具的習(xí)慣。沒(méi)錯(cuò), Subversion 不是只用在專(zhuān)案軟體開(kāi)發(fā)的大傢伙,就算是為了個(gè)人用途撰寫(xiě)的小工具程式,它都能幫上不少忙。

          多年前,我在 GNU/Linux 和 FreeBSD 環(huán)境下把玩 BBS 程式碼時(shí) (Firebird BBS, TIP) ,我就開(kāi)始接觸 CVS 這個(gè)版本控制工具。當(dāng)我面對(duì)組成 BBS 的上百份 C 語(yǔ)言原始檔、上萬(wàn)行程式碼時(shí), CVS 是不可或缺的工具。沒(méi)有 CVS/SVN 這類(lèi)版本控制工具,任何修改程式碼的動(dòng)作都會(huì)增加 programmer 大腦記憶體的負(fù)擔(dān), programmer 將會(huì)浪費(fèi)許多時(shí)間在搜尋與比對(duì)程式碼的工作之上。就算是撰寫(xiě)個(gè)人使用的小程式,版本控制工具仍然帶給 programmer 許多便利之處。我為自己寫(xiě)過(guò)的小工具不知凡幾,有些程式寫(xiě)完後又過(guò)了好幾個(gè)月才會(huì)想到再修改。此時(shí)版本控制工具的提交 (commit) 記錄功能就能幫我喚起以往撰寫(xiě)過(guò)程中的記憶。分支功能可以讓我無(wú)後顧之憂(yōu)地為我的小工具添加新功能,確認(rèn)無(wú)誤後再合併回主幹。
          取得安裝套件

          安裝 Subversion server 其實(shí)是件很簡(jiǎn)單的事,許多 GNU/Linux distribution 都已經(jīng)提供 Subversion package ,只要一個(gè)安裝指令就能完成安裝動(dòng)作。雖然大多數(shù)使用者並不使用 GNU/Linux 作為桌面環(huán)境,而是使用 Microsoft Windows 2k/xp 作為家中的桌面環(huán)境。但在這桌面環(huán)境下安裝 Subversion 服務(wù)仍然是件非常簡(jiǎn)單的事。例如本文內(nèi)容就是在 Microsoft Windows XP 平臺(tái)上進(jìn)行 Subversion server 的實(shí)際安裝工作。

          首先,請(qǐng)先到「Subversion」網(wǎng)站中取得 Subversion server 的安裝套件。在「下載頁(yè)面」中列出了多種平臺(tái)的可執(zhí)行安裝套件。 Windows 平臺(tái)使用者,請(qǐng)開(kāi)啟 Subversion Win32 binaries 之頁(yè)面下載。撰寫(xiě)本文時(shí),下載的是 svn-win32-1.4.0.zip 。這個(gè)安裝套件就只是一個(gè) Zip 壓縮包,裡面是一組包含 Subversion server 以及 client 的命令列工具,所以以下的操作過(guò)程, GNU/Linux 和 MS Windows 平臺(tái)皆適用。
          安裝與啟動(dòng) Subversion server

          取得 Subversion 安裝套件的壓縮包後,解開(kāi)其中的檔案放置到你想放的目錄中。此例中放在 "C:\Program Files\svn-win32" 。工具皆在其 bin 目錄中,主要使用到三個(gè)工具。

          * svnserve
          Subversion Server 主程式。本文提到「啟動(dòng) Subversion server」,意思就是執(zhí)行 svnserve 此一程式。
          * svnadmin
          Subversion 專(zhuān)案管理工具。負(fù)責(zé)新增空白專(zhuān)案、刪除專(zhuān)案等動(dòng)作。
          * svn
          Subversion 專(zhuān)案內(nèi)容存取工具。舉凡 checkout (提出專(zhuān)案內(nèi)容), commit (提交修改內(nèi)容), update, revert 等存取動(dòng)作,皆使用此工具。

          設(shè)置 Subversion server 的方法很多,本文只說(shuō)明最簡(jiǎn)單的一種方式,就是單獨(dú)運(yùn)行 svnserve ,只要執(zhí)行 svnserve 時(shí)加上 "--daemon" 參數(shù)即可,這種方式適合做為個(gè)人用途。若要進(jìn)行 team work ,請(qǐng)參閱《Version Control with Subversion - Chapter 6. Server Configuration》進(jìn)行配置。另有一個(gè)常用的選擇性參數(shù) "--root" 可以指示 Subversion server 搜尋專(zhuān)案貯藏庫(kù) (Repository) 的起點(diǎn)。 MS Windows 平臺(tái)使用者,可以建立 svnserve.exe 的捷徑,將 "--daemon" 和 "--root" 附加在「目標(biāo)欄位」,如圖「svnserve 捷徑設(shè)定」所示。日後需要使用 Subversion 時(shí),便可直接點(diǎn)擊捷徑啟動(dòng) Subversion server 。作為個(gè)人用途,這種需要時(shí)再啟動(dòng)的方式也就足夠了。如果你想在不登入桌面的情況下使用 Subversion 服務(wù),請(qǐng)參閱《Version Control with Subversion - Chapter 6. Server Configuration》,將 Subversion server 設(shè)定為系統(tǒng)服務(wù)。 GNU/Linux 可以選擇 inet daemon 和 apache server 兩種設(shè)置方式。而 Windows 平臺(tái)使用者,在 svn-win32 1.40 版之後,可以將 svnserve 設(shè)定為 Windows Service (系統(tǒng)服務(wù)) ,請(qǐng)參閱《TortoiseSVN Manual - Svnserve Based Server》。
          svnserve 捷徑設(shè)定
          圖1: svnserve 捷徑設(shè)定
          Subversion server 如何尋找專(zhuān)案貯藏庫(kù) (Repository)

          Subversion 預(yù)設(shè)使用專(zhuān)屬的 URL 格式存取專(zhuān)案,其格式為 "svn://主機(jī)名稱(chēng)/專(zhuān)案貯藏庫(kù)路徑/" 。本文只在個(gè)人桌面環(huán)境下使用,所以主機(jī)名稱(chēng)為 localhost 。基本上,你可以將專(zhuān)案貯藏庫(kù) (Repository) 放在任何目錄中。若啟動(dòng) Subversion server 時(shí)未指定 root 路徑 (未加 "--root") ,則 Subversion server 會(huì)將 URL 所指示的專(zhuān)案貯藏庫(kù)路徑視為完整的本地檔案路徑。例如 URL 若為 "svn://localhost/repository/project1/" ,則 Subversion server 會(huì)認(rèn)為專(zhuān)案貯藏庫(kù)放置在 "/repository/project1" (Windows 則為 "c:\repository\project1") 。 Windows 平臺(tái)的使用者在此需要注意一點(diǎn),你只能選擇其中一個(gè)磁碟放置 Repository ,預(yù)設(shè)是 "C:" 。這是因?yàn)?Subversion 存取專(zhuān)案內(nèi)容的 URL 不能包括磁碟代號(hào),因此若你將專(zhuān)案貯藏庫(kù)放在其他磁碟中,就必須在啟動(dòng) Subversion server 時(shí)加上 "--root" 參數(shù)指示磁碟代號(hào),例如 "svnserve --daemon --root d:"。將各個(gè)專(zhuān)案的貯藏庫(kù)集中放置在一個(gè)目錄下,其實(shí)是個(gè)好主意,配合 "--root" 參數(shù)指定 root 路徑,可以少記很多字。例如將專(zhuān)案的貯藏庫(kù)都放置在 "d:\repository" 的目錄中,那麼啟動(dòng) Subversion server 的參數(shù)應(yīng)為 "--daemon --root d:\repository" ,專(zhuān)案貯藏庫(kù)的 URL 則簡(jiǎn)化為 "svn://localhost/專(zhuān)案貯藏庫(kù)目錄/" 。
          實(shí)例測(cè)試

          所有專(zhuān)案的貯藏庫(kù)都存放在 "d:\repository" 目錄之中,故啟動(dòng) Subversion server 的命令列內(nèi)容為 "svnserve --daemon --root d:\repository" 。見(jiàn)圖「svnserve 捷徑設(shè)定」。

          現(xiàn)在要建立一個(gè)名為「hello world」的專(zhuān)案,故在 "d:\repository" 目錄中,建立一個(gè)名為 "hello_world" 的目錄以貯藏專(zhuān)案內(nèi)容。建立目錄後,再使用命令列工具 "svnadmin" ,配合參數(shù) "create" 於此目錄中建立空白專(zhuān)案貯藏庫(kù) (Repository),見(jiàn)圖「Create a repository by svnadmin」。已安裝 TortoiseSVN 的使用者,可以用圖形化介面操作,見(jiàn)圖「Create a repository by TortoiseSVN」。 TortoiseSVN 建立專(zhuān)案時(shí),會(huì)詢(xún)問(wèn)使用者要以何種方式儲(chǔ)存專(zhuān)案,建議使用預(yù)設(shè)的「Berkeley database (BDB)」方式。
          Create a repository by svnadmin
          圖2: Create a repository by svnadmin
          Create a repository by TortoiseSVN - 1
          圖3: Create a repository by TortoiseSVN - 1
          Create a repository by TortoiseSVN - 2
          圖4: Create a repository by TortoiseSVN - 2

          Subversion 工具會(huì)自動(dòng)在 "hello_world" 目錄中產(chǎn)生專(zhuān)案所需的初始檔案。其中最重要的是專(zhuān)案組態(tài)檔 "conf/svnserve.conf" 以及密碼檔 "conf/passwd" 。Subversion 提供多種靈活的使用者認(rèn)證方式,在此只用 Subversion 內(nèi)建的認(rèn)證方式。首先應(yīng)指定未認(rèn)證者 (annonymous) 及已認(rèn)證者 (authorized) 的專(zhuān)案存取權(quán)限。在此例中因?yàn)槭莻€(gè)人用途,所以應(yīng)禁止未認(rèn)證者存取,設(shè)定 "anon-access = none" ;允許已認(rèn)證者讀取及寫(xiě)入,設(shè)定 "auth-access = write" 。接著用最簡(jiǎn)單的密碼檔方式設(shè)定認(rèn)證資訊,只需將使用者識(shí)別帳號(hào)和密碼寫(xiě)入密碼檔 "conf/passwd" ,設(shè)定 "password-db = passwd" 。見(jiàn)圖「Set configuration of repository」與「Set password of repository」。注意, Subversion server 一經(jīng)啟動(dòng)便成為一個(gè)網(wǎng)路服務(wù),任何人都可以透過(guò)網(wǎng)路連線取得電腦中的專(zhuān)案內(nèi)容,所以一定要用密碼管制。在個(gè)人用途或非公開(kāi)的開(kāi)發(fā)團(tuán)隊(duì)中,更應(yīng)為 Subversion server 設(shè)置網(wǎng)路防火牆,以阻絕外來(lái)使用者的存取企圖。
          Set configuration of repository
          圖5: Set configuration of repository
          Set password of repository
          圖6: Set password of repository

          設(shè)定組態(tài)及密碼後,專(zhuān)案貯藏庫(kù)的建立工作便算完成。接下來(lái)測(cè)試是否可以存取專(zhuān)案貯藏庫(kù)。請(qǐng)先啟動(dòng) Subversion server 。接下來(lái),此例中將專(zhuān)案貯藏庫(kù)放置在 "d:\repository\hello_world" ,且啟動(dòng) Subversion server 時(shí)已經(jīng)指定 "d:\repository" 為 root 目錄,所以專(zhuān)案的 URL 應(yīng)該是 "svn://localhost/hello_world/" ,就以此 URL 向 Subversion server 提出 (checkout) hello_world 專(zhuān)案,提出的內(nèi)容,稱(chēng)之為工作複本 (working copy) 。此例將工作複本放在 "d:\src\hello" 。見(jiàn)圖「Checkout a repository」。如果一切無(wú)誤,那麼 Subversion 就會(huì)在 "d:\src\hello" 之中產(chǎn)生工作複本了。
          Checkout a repository by svn
          圖7: Checkout a repository by svn
          Checkout a repository by TortoiseSVN
          圖8: Checkout a repository by TortoiseSVN
          軟體專(zhuān)案管理的起點(diǎn)

          軟體專(zhuān)案管理之中,充斥了太多理論,有心提高軟體生產(chǎn)品質(zhì)的使用者,不論是軟體開(kāi)發(fā)團(tuán)隊(duì)的 PM ,亦或是習(xí)慣為自己使用而動(dòng)手寫(xiě)程式的 programmer ,也許都被那些軟體專(zhuān)案管理的理論弄得昏頭轉(zhuǎn)向。然而它們的起點(diǎn),都是從版本控制著手的。透過(guò)這篇快速入門(mén),從無(wú)到有的設(shè)置服務(wù)並建立空白專(zhuān)案,只要三個(gè)步驟就完成了,相信可以讓各位了解建立一個(gè)版本控制服務(wù)其實(shí)並不難。接下來(lái),我預(yù)計(jì)還會(huì)再完成一篇使用文章,以編寫(xiě)程式碼的過(guò)程為實(shí)例,說(shuō)明 svn 和 TortoiseSVN 的實(shí)用功能。
          [+]Roodo Cliip  回復(fù)  更多評(píng)論
            
          # re: 每日一學(xué) 2009/05/08 怎樣安裝配置 subversion server + apache
          2009-05-08 17:32 | Blog of JoJo
          首先下載Subversion Windows版本的服務(wù)器軟件,下載地址如下:
          http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
          文件為svn-1.2.0-setup.exe,然后執(zhí)行安裝,安裝目錄如:d:\develop\subversion,然后設(shè)置一下系統(tǒng)的環(huán)境變量Path,將Subversion的bin路徑加入到系統(tǒng)的path中。

          創(chuàng)建Subersion庫(kù):首先建立一個(gè)目錄存放Subversion的庫(kù),在該庫(kù)中存放所以的Subversion項(xiàng)目,如D:\repository\subversion

          創(chuàng)建一個(gè)新的Subversion項(xiàng)目。
          只需執(zhí)行: svnadmin create D:\repository\subversion\projectnamePHPChina
          下面需要設(shè)置項(xiàng)目的用戶(hù)信息,只需打開(kāi)Subversion項(xiàng)目conf目錄下passwd文件添加新的用戶(hù)即可,
          [users]
          admin = mypassword
          接下來(lái)是設(shè)置項(xiàng)目的一些其他信息,打開(kāi)conf目錄下的svnserve.conf文件,然后進(jìn)行如下設(shè)置即可:
          [general]
          anon-access = read
          auth-access = write
          password-db = passwd
          realm = projectname

          啟動(dòng)Subversion,這里可以通過(guò)命令行啟動(dòng),最好使用SVN Service Wrapper,你可以通過(guò)以下地址下載:http://dark.clansoft.dk/~mbn/svnservice,將SVNService.exe拷貝到Subversion安裝主目錄的bin目錄下即可,然后執(zhí)行以下命令,就可以將Subversion以windows服務(wù)方式啟動(dòng)啦。
          SVNService -install -d -r D:\repository\subversion

          向Subversion中導(dǎo)入項(xiàng)目:現(xiàn)在我們需要將項(xiàng)目導(dǎo)入到Subversion的庫(kù)中,只需執(zhí)行一下命令: svn import d:\projectname svn://localhost/projectname -m “initial import” –username admin –password mypassword
          這樣項(xiàng)目就導(dǎo)入到subversion庫(kù)中啦。

          將項(xiàng)目導(dǎo)出:從Subversion項(xiàng)目中導(dǎo)出項(xiàng)目也很簡(jiǎn)單,只需執(zhí)行以下操作:
          svn co svn://localhost/projectname –username admin –password mypassword  回復(fù)  更多評(píng)論
            

          <2009年5月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          常用鏈接

          留言簿(6)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          新聞分類(lèi)

          新聞檔案

          相冊(cè)

          收藏夾

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 都匀市| 金沙县| 农安县| 黑水县| 砀山县| 邯郸县| 阳江市| 肥西县| 眉山市| 牡丹江市| 广水市| 邻水| 新兴县| 合阳县| 奈曼旗| 临邑县| 临澧县| 信丰县| 曲阜市| 嘉鱼县| 桐乡市| 鞍山市| 正定县| 易门县| 东山县| 霍州市| 岗巴县| 兴宁市| 洛阳市| 武清区| 黎川县| 抚宁县| 治县。| 时尚| 上饶县| 叙永县| 西吉县| 安泽县| 靖安县| 云浮市| 涟源市|