# 在 Ubuntu16.04 建立 DocuSky <!-- 標籤 --> ###### tags: `舊檔留存` <!-- 筆記正文開始 --> ## 安裝Ubuntu16.04 - iso載點:https://www.ubuntu-tw.org/modules/tinyd0/ - VM規格設定 - disk: > 200G - memory: > 4G - \# of processor: > 0 - \# of cores per processor: > 4 ## 安裝xampp - 下載xampp(php5)安裝檔 ``` cd ~/Downloads wget https://www.apachefriends.org/xampp-files/5.6.38/xampp-linux-x64-5.6.38-0-installer.run ``` - 安裝程式 ``` sudo chmod +x xampp-linux-x64-5.6.38-0-installer.run sudo ./xampp-linux-x64-5.6.38-0-installer.run ``` - 啟動xampp - `sudo /opt/lampp/xampp start` ## 重新導向FTP資料夾 - `sudo vim /opt/lampp/etc/proftpd.conf` - `<Directory /opt/lampp/htdocs/*>`修改為`<Directory /home/docusky/WebRoot/*>` - `DefaultRoot /opt/lampp/htdocs`修改為`DefaultRoot /home/docusky/WebRoot` - 重啟xampp - `sudo /opt/lampp/xampp restart` - 使用Filezilla傳送DocuskyPHP資料夾 - 帳好密碼:Ubunutu 使用者帳密 - 協定:SFTP - SSH file Transfer Protocol ## 開啟phpmyadmin access remotely功能 - 修改`/opt/lampp/etc$ sudo vim extra/httpd-xampp.conf` ```unix sudo vim /opt/lampp/etc$ sudo vim extra/httpd-xampp.conf ``` - 將Require local 換成 Require all granted ```unix <Directory "/opt/lampp/phpmyadmin"> AllowOverride AuthConfig Limit # Require local 註解掉此行 Require all granted # 加入這一行 ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var </Directory> ``` - 重啟xampp - `sudo /opt/lampp/xampp restart` ## 更改xampp內,Apache的預設路徑到WebRoot - 建立WebRoot資料夾,並放入DocuSkyPHP(浩洋學長提供) ``` mkdir ~/WebRoot cd ~/WebRoot mv <DocuSkyPHP路徑> . ``` - 建立index.html - 目的:將網頁導向DocuSkyPHP中 - `sudo apt-get install vim -y` - `vim index.html` - 內容: ```html <html> <head> <meta http-equiv="refresh" content="0;url='DocuSkyPHP/index.html'"> </head> </html> ``` - 開啟在Xampp的Apache config - `sudo vim /opt/lampp/etc/httpd.conf` - 找到`DocumentRoot "/opt/lampp/htdocs"`修改為`DocumentRoot /home/docusky/WebRoot` - 找到`<Directory "/opt/lampp/htdocs">`修改為`<Directory /home/docusky/WebRoot>` - `sudo vim /opt/lampp/etc/extra/httpd-ssl.conf` - 找到`DocumentRoot "/opt/lampp/htdocs"`修改為`DocumentRoot /home/docusky/WebRoot` - `sudo vim /opt/lampp/etc/php.ini` - `;include_path = ".:/php/includes`修改為`include_path = ".:/php/includes:/home/docusky/WebRoot"` - ==`openssl.cafile`修改為`openssl.cafile="WebRoot路徑\DocuSky\include\phpmailer\cacert.pem`==(找不到這個檔案) - 重啟xampp - `sudo /opt/lampp/xampp restart` ## 重建docusky mysql資料庫 - 建立thdl使用者 - 進入mysql shell - `sudo /opt/lampp/bin/mysql` - 執行 ```sql CREATE USER 'thdl'@'localhost' IDENTIFIED BY 'thdl'; GRANT ALL PRIVILEGES ON *.* TO 'thdl'@'localhost' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON `thdl\_%`.* TO 'thdl'@'localhost'; ``` - 建立docusky資料庫 - 進入mysql shell - `sudo /opt/lampp/bin/mysql` - 執行 ```sql CREATE DATABASE docusky; ``` - mysqldump下載現有資料(約花2~3小時) - Windows - 點選xampp control panel中的shell - 執行 - `mysqldump --hex-blob -u root -h 127.0.0.1 docusky > docusky.sql` - 檔案大小:約25G(壓縮後2.G) - mysqldump匯入sql檔(約花9小時) - 出現error: `ERROR 1118 (42000) at line 77: The size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size. Increase the redo log size using innodb_log_file_size.` 或是 `ERROR 2006 (HY000) at line 77: MySQL server has gone away` 需更改 `/opt/lampp/etc/php.ini` 與 `/opt/lampp/etc/my.cnf` - `sudo vim /opt/lampp/etc/my.cnf` - `innodb_log_file_size=1M`改為`innodb_log_file_size=30G` - 全部`max_allowed_packet = 5iM`改為`max_allowed_packet = 30G` - 重新執行xampp - `sudo /opt/lampp/xampp restart` - 執行匯入指令 - `sudo /opt/lampp/bin/mysql -u root -h localhost --default-character-set=utf8 -p docusky < ~/WeebRoot/docusky.sql` - 出現`Enter password:`直接案下enter鍵即可,因為root沒有設定密碼 - 可開啟`http://localhost/phpmyadmin`檢查是否正在上傳 ## 設定DocuSkyPHP的檔案 - 進入DocuSkyPHP資料夾 - `cd ~/WebRoot/DocuSkyPHP` - 建立`index.html`將首頁導向`userLogin.php` - `vim index.html` - 內容: ```html <html> <head> <meta http-equiv="refresh" content="0;url='userLogin.php'"> </head> </html> ``` - 測試進入docusky網站,可能出現ERROR - `mkdir(): Permission denied` - 解法:更改DocuSkyPHP權限,目前先以所有權設定成root:root,與使用權全部開放(777) - `sudo chown root:root -R ~/WebRoot/DocuSkyPHP` - `sudo chmod -R 777 ~/WebRoot/DocuSkyPHP` - `無法讀取"docusky.USER_PROFILE` - 解法:讓mysql執行query時忽略大小寫 - `sudo vim /opt/lampp/etc/my.cnf` - 在`[mysqld]` section下加入: - `lower_case_table_names = 1` - 重新啟動xampp - `sudo /opt/lampp/xampp restart` - 確定DocuSkyPHP內有`ip_config`資料夾 - 內部有檔案:`banned_ip.conf`, `valid_ip.conf` - js是空的(檔案在原DocuSky相同資料夾) - 補齊檔案`g2.js, jquery-ui.min.css, jquery-ui.min.js, jquery.min.js`到js資料夾內 - 補齊檔案`jqcloud.css, jqcloud.js, jqcloud.min.css, jqcloud.min.js`到`js/jQCloud/` - fonts是空的(檔案在原DocuSky相同資料夾) - 補齊檔案`fontawesome-all.css`到`/DocuSkyPHP/fonts/fontawesome/css` - 補齊檔案`fa-*`所有檔案到`/DocuSkyPHP/fonts/fontawesome/webfonts` - js.ui是空的(檔案在原DocuSky相同資料夾) - 補齊`docusky.ui.getDbCorpusDocumentsSimpleUI.js`、`docusky.ui.manageDataFileListSimpleGISUI.js`、`docusky.ui.manageDataFileListSimpleUI.js`、`docusky.ui.manageDbListSimpleUI.js`、`docusky.utility.sharedModel.tabularData.js` - webApi -> WebApi(系統會莫名創建或讀取WebApi資料夾) - `/DocuSkyPHP/include/Config.php`中line 213`self::$web_path_prefix = 'WebApi';`改成`self::$web_path_prefix = 'webApi';` -
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up