# DocuSky on Ubuntu <!-- 標籤 --> ###### tags: `主機維護` ## 1. Ubuntu [載點](https://www.ubuntu-tw.org/modules/tinyd0/) - Ubuntu 22.04.1 ## 2. XAMPP [載點](https://www.apachefriends.org/zh_tw/download.html) - Apache 2.4.56 - MariaDB 10.4.28 - PHP 8.2.4 - phpMyAdmin 5.2.1 ## 3. Sphinx search ### 3.1 Install ```bash $ sudo add-apt-repository ppa:builds/sphinxsearch-rel21 $ sudo apt-get update $ sudo apt-get install sphinxsearch $ searchd $ sudo indexer --all ``` ### 3.2 SphinxData 將 `(SphinxData)` 資料夾放至 `/home/docuengineer/SphinxData` ### 3.3 sphinx.conf - 修改 configure file 的路徑 ```php path = C:\(SphinxData)\docusky\open\docusky_open_document 修改為: path = /home/docuengineer/SphinxData/docusky/open/docusky_open_document ``` - 有諸多類似的需要修改(每一個 index 都有) ### 3.4 DocuSky/include/config.php ```php self::$sphinx_path = "/usr/bin"; self::$indexing_basecmd = "indexer --config /etc/sphinxsearch/sphinx.conf --rotate"; ``` ### 3.5 Problems - Can't connect to local MySQL server through socket - Error message: `ERROR: sql_connect: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'` - Follow the steps [in this article](https://tableplus.com/blog/2018/08/solved-cant-connect-to-local-mysql-server-through-socket.html): Try to connect to 127.0.0.1 (through TCP/IP connector) instead of localhost (through socket connector) ## 4. 背景執行 - 使用 [crontab](https://blog.gtwang.org/linux/linux-crontab-cron-job-tutorial-and-examples/) 指令 ```bash sudo crontab -e 加入: */5 * * * * sudo /opt/bin/php /home/docuengineer/WebRoot/DocuSky/background_offline_job_compuation.php 30 > /home/docuengineer/WebRoot/DocuSky/cron-log.txt ``` ## 5. Other Problems ### 5.1 無法讀取 `DOCUSKY` 資料庫、或是無法讀取`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 ``` ### 5.2 `mysql.sock` ``` ls -l /opt/lampp/var/mysql/mysql.sock sudo chown -R mysql:mysql /opt/lampp/var/mysql sudo chmod -R 755 /opt/lampp/var/mysql ``` ## 6. Resources 安裝過程參考:[在 Ubuntu16.04 建立 DocuSky](https://hackmd.io/@6vl-R1QtRl-LuttqpoUdVA/ryP1nPN1r)