發表文章

目前顯示的是有「安裝」標籤的文章

Windows 10 之前的作業系統安裝 openssh server

希望之後能發現更簡單的解法,先用這個了,Windows 10 可以在程式裏面新增這個服務,就不需要這個了。 工作環境:   Windows 8   openssh 8.1.0.0 p1 beta 參考這篇內容 或是中文附圖的 : 下載 OpenSSH server 解壓縮到 c:\Program Files\OpenSSH 的資料夾下 以管理者身份 以管理者身份 以管理者身份 開啟命令終端執行以下指令 powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1 如果出現權限不足之類的紅字,表示沒有用管理員身份/權限執行 在 Powershell 下執行以下指令以註冊服務到作業系統 New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -Program "C:\Program Files\OpenSSH\sshd.exe"  到防火牆下設定 OpenSSH 的權限,允許使用 port22 連入本機 到服務中將 OpenSSH 啟用 使用 putty 之類的程式試著連到本機 完成! 收工!

郵件不服氣

寄一封電子郵件,或許己經慢慢遠離現代的生活了,它正慢慢的被所謂的即時通訊蠶食,即便如此,一些比較不需要即時反應的訊息,或是比較正式的邀約,甚至是廣告,還是會透過這個其實沒有很老的「傳統」方式進行。 自廣告/垃報郵件(SPAM)風行的年代起,郵件伺服器就肩負了訊息溝通的重任,同時也一直是攻防的重點之一,畢竟一個人,就代表了一份消費力,即便成交效能有限,廣告還是沒有從郵件中退出,因為 0 只是趨近於 0 但是不是 0 的數字。 郵件伺服器裏面有一些敏感的訊息,包括個資、業務訊息…等等,所以維護起來還蠻需要不少精力的,為了有效的傳遞訊息,必需讓使用者不論在什麼地方都可以收發郵件,必需讓伺服器也可以收不論是什麼地方什麼人寄來的訊息,後來,還必需提供網頁界面給使用者、後來,裏面必需要可以維護通訊錄,反正 outlook 、 gmail 裏面有什麼,就得把什麼功能掛上去,然後,放到防火牆去躲砲火,郵件收發過程再加密一下,可以的話再掛個掃毒,還得把郵件使用者帳密和原生的系統帳密分開,以上這些林林總總,大概就是目前要自行維護郵件伺服器的生態,gmail 真的做了不少事啊。 雲真偉大,可惜用雲不在這次的考量之內。 說了一堆,準備開工,工作環境如下:  作業系統:  Linux based OS (Debian/Ubuntu/CentOS...)  Mail Server (dovecot, postfix)  Webmail (roundcube/squerrel-mail/SOGo...)  Security (iptables, fail2ban, clamav)  Database (MySQL/MariaDB/Postgresql) 把以上這些套件都裝起來,config 檔調了又調,再調一下自機防火牆,然後就開始寄信了。 But ... 信可以寄出去,收不到寄進來的信。 去網域伺服器新增一下對應的域名(通常新增 A 紀錄應該就可以了,MX 如果真的信收不到再加) 還是不行… 挖洞:防火牆開 POPS(995)、IMAPS(993) ,還是不行,原來最重要的 SMTP(25) 不能關,洞挖了,信就一股腦兒全部進來了。 收工!

安裝 voyager

拿起我那斬到快斷的手(誤),來安裝夢裏看到也會笑的 voyager 以便展開我的新旅程,之前做的那麼多,都是為了要在 laravel 裝上之後來裝 voyager ,雖然現在 voyager 不是維一的選擇,但是它也持續發展了一段時間,而且 UI 越來越完整,應該還是不錯的選擇,希望它可以撐得比 XOOPS 長。 工作環境:   Windwos 10 + virtualbox   guest: Ubuntu 18 server 現在的 voyager 不但已經有了使用者界面,而且現在官網上也有教學,當然,要學功夫,就學正宗,看著官網做,總是不會錯。 安裝一個新的 laravel 專案就叫 voyager 這樣會在你的家目錄底下新增一個 voyager 的 laravel 開發環境 $ laravel new voyager 記得要修正程式用來儲存檔案的資料夾的權限,像是 storage 以下的資料夾就是預設儲存檔案的地方 $ sudo chown -R $USER.www-data storage $ chmod -R 775 storage $ sudo chown -R $USER.www-data hook $ chmod -R 775 hook 導入 voyager 的套件的設定和指令,並且修改相關的參數 $ cd /voyager $ composer require tcg/voyager$ vim .env ------------------------- APP_URL=http://laravel.test:8080 DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=voyager DB_USERNAME=voyager DB_PASSWORD=your_voyager_password ------------------------- 完成修改的 voyager 相關設定大概會長成這個樣子,記得如果你的網址和你的 apache 設定要一樣,網址和埠號準確地寫在設定檔裏面,沒有設好的話,像是 media 中頭像、檔案這種和路徑相關密切相關的資料,就無法正確地顯示,導致網頁中圖片的部份沒有顯示或...

voyager 的中文界面設定

多語系支援的需求雖然一開始不會浮現,但是早晚還是得要面對的事情, voyager 事先就實作了,需要的就是一點翻譯的工作。 作業環境:   Windows 10 + virtualbox   guest: Ubuntu server 18 設定所需的檔案位置在這裏: /your_app_path/vendor/tcg/voyager/publishable/lang預設只有 zh_CN 自已轉了內容存到 zh_TW 就可以用了。 之後登入使用者的編輯介面中 local 有新的 zh_TW 可以選用,再次登入的時侯就會看到中文的介面了,用詞當然不是全部和我們的習慣一樣,再自已去語系檔裏改一下嚕。 收工!

php composer 的安裝方式更新

印象中 composer 很好裝的,怎麼官網的說明變得多了,卻也感覺讓一個簡單的安裝變得複雜,做為開源工具的使用者,又要開始游牧了,這種生態好像就像是開源工具使用者的 DNA ,自然就難以擺脫游魂一般的命運了 如果直覺的依據官網提供的裝法其實很簡單:把這裏的4行複製貼上到終端機的命令列中: https://getcomposer.org/download/ $cd --------- $php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" $php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" $php composer-setup.php $php -r "unlink('composer-setup.php');" --------- 又參考這個:https://www.digitalocean.com/community/tutorials/how-to-install-and-use-composer-on-ubuntu-18-04 一步一步跟著作也可以裝好 But, 人就是懶又貪,還看到官網寫著,可以用程式來安裝,在這裏: https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md  得再多試幾次,我真是愛自找麻煩的傢伙 工作環境: Windows 10 ...

composer 安裝 laravel error Permission denied

為了要安裝 laravel,因為對於 vagrant 、 docker 這些工具都不熟悉,只能手動建置平台,也就因此遇到一些前人已經處理完的問題,這次是權限問題 $composer global require laravel/installer   [ErrorException]   file_put_contents(./composer.json): failed to open stream: Permission denie   d 因為權限的問題,所以在本機用非 root 帳號使用 composer 時,出現了以上的錯誤訊息,但是 composer 也不建議用 root 帳號安裝,那麼得來處理一下這個權限問題。 $sudo chown -R $USER.$USER ~/.composer/ 再裝一次 laravel $composer global require laravel/installer 應該就可以了

laravel 的 apache2 伺服器和 VM 相關設定

除了要把 laravel 的網頁伺服器帶起來以外,還想在連線的時侯不要用記不起來的 ip 而用網址名稱來連線,所以調整 apache 的設定,以及網址的對應。 工作環境:   Windows 10 + virtualbox   guest: Ubuntu 18 server   Windows IP: 192.168.ooo.xxx laravel 安裝在   /home/your_name/your_laravel_path/public 網址與 IP 的對應檔案   C:\Windows\System32\drivers\etc\hosts 其中 apache 使用以名稱對應的虛擬網頁,ServerName 要和網址對應檔的名稱對應   ServerName      laravel.test    <====>    127.0.0.1    laravel.test 加上 virtualbox 的埠號對應(8080)   Windows 10 host 瀏覽器 > laravel.test:8080 > VM > 127.0.0.1:8080  laravel.test.conf NameVirtualHost *:8080 Listen  8080 <VirtualHost *:8080>     ServerName      laravel.test     ServerAlias     www.laravel.test     # The location of our projects public directory.     DocumentRoot    /home/your_name/yo...

laravel 剛剛裝好無法進入

時至今日,真的很能體會關先生當初過五關、斬六將的辛苦,為了要把 laravel 裝起來,已經不知道過了幾關,斬的手都骨折了。好不容易,到了可以連到 laravel 的時侯了,帶著期待的心情,開啟瀏覽器,連到 laravel.test:8080,登!登!登!登! MMMMMMMMMmmmm......... 不是那個白底的 Laravel 的 welcome page 是那個俗稱亂碼的&^%$^&*(*&^%%&* 工作環境:   Windows 10 + virtualbox   guest: Ubuntu 18 server 好在左上方的訊息很清楚,長得像這樣子的 The stream or file "/path_to_laravel/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied ... 又是權限問題,那就簡單一些,谷溝大神說已經有人遇過了:   sudo chown -R $USER:www-data storage   chmod -R 775 storage 再連一次 laravel.test:8080 總算是還給我白皙首頁 開心 收工!

composer 安裝 laravel error ext-zip

試著不用 homestead, docker 這些工具,自行安裝 laravel, 之前已經安裝完成了 composer 接著就是要安裝 laravel 了,根據官網的說明,只要滿足一些套件就可以了,     PHP >= 7.1.3     OpenSSL PHP Extension     PDO PHP Extension     Mbstring PHP Extension     Tokenizer PHP Extension     XML PHP Extension     Ctype PHP Extension     JSON PHP Extension 工作環境:   Windows 10 + virtualbox   guest: ubuntu 18 server $composer global require laravel/installer error:   ext-zip * -> the requested PHP extension zip is missing from your system ... 應該是要安裝 php-zip 或是 phpVersion-zip ,但是,找不到 @@" 這時侯,請更新 /etc/apt/source.list (請記得先備份哦) $vim  /etc/apt/source.list 加上 universe 類別的套件  ---------- deb http://archive.ubuntu.com/ubuntu bionic main universe deb http://archive.ubuntu.com/ubuntu bionic-security main universe deb http://archive.ubuntu.com/ubuntu bionic-updates main universe  -------...

設定 laravel 執行檔的路徑 以便日後使用

安裝完成 laravel 之後,laravel 的執行檔會在家目錄下的 .composer/vender/bin/ 的資料夾裏,所以,預設要執行 laravel 時,就要 .composer/vender/bin/laravel 才能執行,當然不能搞到這麼麻煩,所以,再來調整一下。 工作環境:   Windows 10 + virtualbox   guest: ubuntu 18 server   composer global   laravel global $vim .bashrc 在檔案最後方加上一行,真正的路徑請依你的實際狀況調整 export PATH="$PATH:$HOME/.composer/vendor/bin" $source .bashrc 此時 $laravel 會輸出 Laravel Installer 2.0.1 Usage:   command [options] [arguments] Options:   -h, --help            Display this help message   -q, --quiet           Do not output any message   -V, --version         Display this application version       --ansi            Force ANSI output       --no-ansi       ...

Ubuntu 18 MySQL root 帳密設定

在 Ubuntu 18 server 安裝了 phpmyadmin 結果 root 帳密無法登入,會出現類似 root 帳號不能空白。 工作環境:   Windows 10 + virtualbox   guest: Ubuntu 18 server 用 root 登入 mysql: $ sudo su - $ mysql -uroot 確認你的使用者在資料庫中 mysql> SELECT User,Host FROM mysql.user; +------------------+-----------+ | User                  | Host      | +------------------+-----------+ | admin               | localhost | | root                  | localhost | 設定你的密碼 mysql> UPDATE user SET authentication_string=PASSWORD("YOUR_PASSWORD") WHERE User='root'; 改認證方式 mysql> UPDATE user SET plugin="mysql_native_password" WHERE User='root'; 最用權限 mysql> FLUSH PRIVILEGES; =================== 如果已經被改到進不去資料庫的解法 $ sudo service mysql stop $ sudo mkdir -p /var/run/mysqld $ sudo chown mysql:mysql /var/run/mysqld $ sudo /usr/sbin/mysqld --skip-grant-tables --skip-network...

ubuntu 安裝了 docker 套件之後出現 docker is currently not installed

情境: 使用 apt-get 安裝 docker 之後,要確認 docker (docker -v)是否已經安裝完成,出現 docker is currently not installed 作業環境: windows 10  virtualbox host: ubuntu 14 解決: 裝 docker.io : sudo apt-get install docker.io   測試是否安裝完成: docker -v ,不再出現 docker is currently not installed 的訊息 網站上也有說直接用 docker 的來源安裝: sudo curl -sSL https://get.docker.com/ | sh 這個方法是原生的方式,大概是什麼版本的 linux 都行的吧,但是先跳過這個了。(未測) 收工

aptitude 無法在 Ubuntu 上安裝 syslog-ng

apt 是 ubuntu 上的套件管理工具,它管理套件的安裝,用這種工具最大的好處就是它也可以滿足套件安裝時的相依性,眾所皆知,如果是桌面的系統,有視覺化工具可以用,但是如果是命令列(終端機)的話, aptitude 是很好的選擇。 這次,為了要接收系統記錄,需要安裝 syslog-ng 這個套件,但是…… 裝不上去…… 工作環境: Windows 10 home virtualbox Ubuntu 14 server LTS 要安裝 syslog-ng 搞了很久,爬了很多文,後來真的很無言,也很無解。 這次,抱著姑且一試的想法,用指令裝吧,其實下指令並不很難,只是下參數要讀的書比較多。 居然就裝好。 居然就裝好。 居然就裝好。 apt-get install syslog-ng-core apt-get install syslog-ng 別忘了 sudo 收工!

再試 php 輸出 pdf

PHP 在輸出 pdf 的時侯有幾個網站上很有名的函式或說是工具,一個是 tcpdf ,姑且把它和 fpdf、dompdf、html2pdf 之類的工具歸在同一類,雖然除了 tcpdf 之外的我都沒試,因為太多人提到有字碼支援問題了;另一個是 wkhtmltopdf 這是 cli 終端機下的指令,用來將網頁轉成 pdf ,雖然個人並不喜歡這種工具用在網頁程式中,但是它的效果用起來真的很不錯,所以,這次先裝它來用,程式能動之後要改別的方式還不遲。 照著股溝大神指示的網站,很快就裝好這個 wkhtmltopdf ,指令很簡單, wkhtmltopdf.sh Input.html Output.pdf ,馬上就得到想要的 pdf 檔,眼都還沒眨呢! But... 又是那個 But ...,是的,中文亂碼又來攪局了,好在這次不是 tcpdf 上的空白,也不是方格,看起來就是字型的問題,檢查一下網頁,有指定是 utf-8 編碼(content="text/html; charset=utf-8"),問過大神之後,說要給個正確的字型檔,試著餵了幾個中文繁體的字型檔到 /usr/share/fonts/truetype/ 底下,挑個網頁長得美的就行。 終於收工了! 在被 tcpdf 搞了一天和 wkhtmltopdf 搞了半天之後…

最近使用的幾個 usb windows 安裝工具

長久以來,系統重灌就是使用者在面對電腦越來越慢又難以解決的時侯,不得已的最後一個選項(因為太花時間了),在 Windows 的世界裏長久以來,把安裝光碟放進光碟機,按幾下就可以安裝作業系統了,後來電腦內建回復工具,用來回復作業系統的原廠設定,好像光碟機和安裝光碟也慢慢地想要消失在新出廠的電腦上了,帶給使用者很多方便,也造成另一些困擾。 其間另一個發展,就是 USB 安裝工具出現,安裝作業系統的部份,個人覺得後來 Linux 發展的比較好,安裝光碟本身就是一個作業系統,可試可裝可應急一魚多吃,個人比較少用到 USB 這類的安裝工具; Windows 這邊之前用 USB 是為了趨動光碟機,趨動光碟機只是為了要執行安裝程式,這次要試的是,用工具來製作可以安裝 Windows 的 USB,把安裝光碟的部份省去,只要 USB 不要光碟就進行作業系統安裝,畢竟 USB 還是好帶一點,光碟機久沒用壞了也不怕。 開始之前先拜問了股溝大神一番,發現這類的工具之前就有一些了,心想反正都是標榜可以用 USB 來安裝作業系統,哪知,事情並不單純…… 工作環境: Core 2 Duo PC 1部 正版 Windows 7 企業版安裝光碟 1片 USB 8G 1隻 製作 USB 安裝工具 1種 這次試過了… 原始安裝光碟 Windows USB/DVD Download Tool Universal USB Installer - Easy as 1 2 3 | USB Pen Drive Linux Rufus 為什麼要試那麼多種呢? 當然不是因為時間多,也不是想多測幾種,而是貢姑,也就是安裝過程一直沒有成功。 個人的電腦有點年紀,那個時侯有些新的硬體規格剛出來,當時裝系統時就覺得很麻煩,這次也是。 原始安裝光碟 這個裝到一半就說找不到趨動程式,至於是什麼趨動程式看不出來,所以貢姑 Windows USB/DVD Download Tool 原本想說這個是 Windows 本家出的工具,應該最OK,結果這個執行的時侯說是光碟格式不符,完全不給製作安裝用的USB,所以貢姑 有趣的是,經過原始安裝光碟貢姑之後,居然也覺得貢姑不意外!? Universal USB Install...

Ubuntu 上安裝 phpmyadmin 一片空白 記得裝 php-gettext

如同以往,用 apt 安裝 Ubuntu 的 phpmyadmin 套件,沒有錯誤訊息,但是裝完後連到 web.site/phpmyadmin 出現一片空白。 作業環境: ubuntu server LTS16.04  解法: apt-get install php-gettext mmmmm,這到底是 ubuntu 的問題,還是 apt 的問題,apt 本來是要解決套件的相依性問題的,希望只是個案。 收工!

跳槽 Linux Mint Mate

最近家中那部老爺桌機,Intel Core 2 Dual 6300、PC 800 16G Ram,從 Windows 轉 Ubuntu Desktop 14.04 約2年但是在一次 apt 軟體更新之後,一直出現 ACPI 的錯誤訊息,卡住,開不了機。 一下子是 probe ramfs fail(一直到最後還是不知道是什麼鬼硬體和軟體對不上),一下子又有 EEPROM corrupt(Intel E100 Pro網卡的趨動有障礙),Google 、上論壇,搞了半天電腦就是開不起來,試了老半天; 又用開機片修復,再 apt 裝新的軟體,但是怎麼就是開不進系統,雖然以老爺機的年紀來說,Ubuntu 己經成功地讓它延續可用狀態多年,算得上是仁至義盡。 用 Desktop 說穿了,不外乎希望文書軟體能動,能上網,其他交給系統,不想處理技術問題。 But…… 人會變老,希望電腦可以活著更好。 Linux Mint 在 DistroWatch  站上佔據第1名其實己經好長一段時間了,之前有用 VM 試跑過,順暢、直覺,因為 Server 還是用 Ubuntu 所以一直沒有轉換,這次居然更新軟件就造成無法開機,決定省下寶貴的時間,放棄除錯,直接轉換跑道,據說 Mate 版本比較適合舊機器,雖然 Linux Mint 裝機的時侯,還是遇到了同樣的問題,但是 Linux Mint 跑了幾分鐘後就把它跳過了,這就是 使用者 我最想要的,只要軟體能讓硬體正常運作,維持核心的功能,和生活品質,不完美就是完美。 把 中文輸入法 裝上、LibreOffice OK、Firefox OK,我 OK! XD XD XD 收工!

Ubuntu Server LTS 16.04 busybox-initramfs 套件安裝至系統時發生錯誤

雖然在安裝 Linux Server 的時侯很少直接用中文安裝,這次手指不聽話,一開始選用了中文界面安裝的方式,然後就卡住了。 工作環境︰ 安裝 Ubuntu Server LTS 16.04 症狀︰ busybox-initramfs error 套件安裝至系統時發生錯誤 解決方式︰ 重開機,最最最最開始的頁面(第1頁)語言選 English,之後(第2頁)會問 Select Language 語系設定再選 中文。 收工!

Python 安裝模組以安裝 geocoder 為例

犯蠢的故事是這樣開始的,在 FB 上看到 geocoder 可以引用 tgos 模組,這樣一來,如果要查門牌號碼對應的地理資訊,就可以透過這個工具來查找, 只要3行 ,看起來超簡單。 不簡單的就只有那個 But 工作環境︰ Windows 7 pro Python zip(python-3.5.1-embed-amd64.zip)︰ 非 installer 安裝,解到 D:\python     pip python 的套件管理工具 官網說, pip install geocoder 然後呢! 然後它就出現錯誤訊息,長得像下面這樣。 然後只好發信給原作者,非常快,沒想到才幾分鐘作者就回信了,給了我一些建議。 然後我就開始試著看 virtualenv 之類的,有些套件可以裝,但是還是卡在同一個地方,好像是個跨過不去的關卡。     writing top-level names to pip-egg-info\click.egg-info\ top_level.txt     writing manifest file 'pip-egg-info\click.egg-info\ SOURCES.txt'     warning: manifest_maker: standard file '-c' not found     error: [Errno 2] No such file or directory: 'd:\\python\\python35.zip\\ lib2t o3\\Grammar.txt' Command "python setup.py egg_info" failed with error code 1 in C:\Users\someone\AppData\Local\Temp\pip-build-aw8h0tri\click\ 開檔案總管查看,D:\python資料夾下有個 python35.zip 和一個 python 的資料夾,裏面有 lib2to3 ,也有 Grammer.txt ,後來不管三七二十一,python 資料夾直接給它一個分身,就叫 pytho...

php 套件管理使用 Composer

php 目前的套件管理趨勢是使用 composer,在使用 composer 的時侯,只要告訴 composer 你要使用的套件,有時侯要指定套件的版本,的維護是靠專案內的 composer.json 這個檔,也就是說,套件的資料夾如果被移除了,只要這個維護檔還在,要把套件裝回來,composer install 就行。 取得 composer     curl -sS https://getcomposer.org/installer | php 把 composer 放到可以取用的 path 中就裝好了     mv composer.phar /usr/local/bin/composer 或是     echo 'export PATH="$PATH:~/.composer/vendor/bin"' >> ~/.bashrc     source ~/.bashrc 如果是 windows 下     @set  COMPOSER_HOME=%WAGON_ROOT%composer     @set  PATH=%COMPOSER_HOME%vendorbin 舉例來說,在開發的時侯,找到一個可以用來產生測試資料用的套件叫作 Faker ,以往的動作是下載 faker,解壓縮到伺服器上,然後呼叫這個套件來使用,透過 composer 的話,只要在伺服器上下個指令 composer require fzaninotto/faker 就裝好,可以直接呼叫使用。 composer update: 昇級套件 composer self-update: 昇級 composer composer show -i 顯示目前安裝的 php 套件 global 安裝的方式,會將元件安裝在 composer_home 目錄底下,將 composer_home/vendor/bin 加入 PATH 後,即可全域使用該指令 composer global require vendor/package:version 安裝到正式機器上時 composer ins...