發表文章

目前顯示的是 8月, 2018的文章

[PHP] 找出月份的第一天及最後一天

//指定日期 $d = '2018-02-15'; $startdate = date('Y-m-01', strtotime($d)); $enddate = date('Y-m-t', strtotime($d)); //當下日期 $startdate = date('Y-m-01'); $enddate = date('Y-m-t');

[Laravel][Linux][好文] Installing Laravel PHP Framework on Ubuntu 18.04 LTS for Apache (架設正式網站步驟)

Installing Laravel PHP Framework on Ubuntu 18.04 LTS for Apache

[Linux][架站] Ubuntu 16.04 apache 如何設定反向代理(Reverse Proxy)

假設我們有兩個網址 https://site1.myweb.com 及 https://site2.myweb.com, 我們希望使用者連到 site1 時,顯示 site2 的內容,就可以使用反向代理(Reverse Proxy)來達成。 什麼情形會需要這樣的設定呢?舉例來說:site2 是舊版本的 apache 只支援到 TLS 1.0,在無法升級 site2 主機的前提下,可以透過反向代理,來讓擁有新版 apache(支援 TLS 1.1 & 1.2) 的 site1 當作 site2 的入口。 反向代理(Reverse Proxy) 的設定如下...

[Linux] Ubuntu 如何使用 root 連 ssh 或 scp

Ubuntu 安裝過程中,系統會要求建立一個管理者(eg. sean0704),架好後當我們要用SSH連到這台主機時,指令為 $ssh sean0704@192.168.0.100 如果我們需要使用 root 身份連 ssh 或操作 scp 時,直接下 $ssh root@192.168.0.100 是會執行失敗的,原因是 1. root 還沒設定密碼 2. ubuntu 16.04 預設不開放使用 root 身份 login 所以,要做的事請如下...

[Linux][架站] Ubuntu 16.04 如何啟用SSL 讓網址支援 https://

參考  [Linux][架站] ubuntu 16.04 如何設定 apache 的 VirtualHost 可以架起 http:// 的網站,如果將 url 改成 https:// 會出現"無法連上這個網站"的畫面,因為 server 目前沒有監聽 443 port (可用 #netstat -nlpt 查看 有沒有443),這時需先啟用 ssl,如下: $sudo su - #a2enmod ssl #service apache2 restart 檢查一下 server 有沒有監聽 443 port。 #netstat -nlpt 應該就會看到 443 了,這時url輸入 https:// 會出現跟剛剛不一樣的訊息 "這個網站無法提供安全連線",那是因為我們沒有憑證。 申請憑證需要費用,以 GoDaddy 的憑證為例,付費後會得到三個檔案(兩個crt、一個key),需要放在 server 指定位置上,如下: /etc/ssl/certs/myweb.com.crt /etc/ssl/certs/gd_bundle-g2-g1.crt /etc/ssl/private/myweb.com.key (可以用從別台已經有SSL的主機,用SCP將憑證複製過去 舉例: #scp /etc/ssl/certs/myweb.com.crt  root@172.31.0.99:/etc/ssl/private/  PS.因為需要用root來執行scp 請先參考  Ubuntu 如何使用 root 連 ssh 或 scp  ) 有這三個檔案後才能正式進入設定的階段,步驟如下...

[PHP][Linux] Ubuntu 16.04 裝 PHP 7.1 (致敬 hojc)

$sudo su - #apt-get update #apt-get install -y apache2 #apt-get install -y php7.0 libapache2-mod-php7.0 php7.0-cli php7.0-common php7.0-mbstring php7.0-gd php7.0-intl php7.0-xml php7.0-mysql php7.0-mcrypt php7.0-zip #apt-get install -y python-software-properties #add-apt-repository -y ppa:ondrej/php #apt-get update -y #apt-get install -y php7.1 libapache2-mod-php7.1 php7.1-cli php7.1-common php7.1-mbstring php7.1-gd php7.1-intl php7.1-xml php7.1-mysql php7.1-mcrypt php7.1-zip #a2enmod php7.1 #a2dismod php7.0

[Linux][架站] Ubuntu 16.04 如何設定 apache 的 VirtualHost

當我們剛建好 ubuntu 16.04 的 apache server 時,預設網站目錄在 /var/www/html 下,假設我們想要將網站目錄放在 /var/www/site.myweb.com 下,設定方式如下...

[Linux] Ubuntu 16.04 內網 Server IP 設定

$sudo su - #vim /etc/network/interfaces 註解掉dhcp 然後往下加內容 #iface eth0 inet dhcp iface eth0 inet static  address 172.31.40.99  netmask 255.255.192.0  gateway 172.31.0.254  dns-nameservers 172.31.0.10 172.31.0.20  network 172.31.0.0 存檔後重開 IP就設定好了

[PHP] 淺談 命名空間 (namespace)

假設我們共有三支程式 index.php、1.php、2.php 語法如下: 1.php <?php class hello {   public function hi() {     echo 'Hi 111';   } } 2.php <?php class hello {   public function hi() {     echo 'Hi 222';   } } index.php <?php include '1.php'; include '2.php'; $a = new hello(); $a->hi(); 當我們執行 index.php 時,很顯然會出錯,因為class的名稱(hello)重複了,這時候就要透過命名空間來解決,修改方式如下...

[Linux] 開機後自動 mount 的方法

方法一: #vim /etc/rc.loc mount //172.31.0.1/lab /var/www/lab -o username=myid,password=mypw 方法二: #vim /etc/fstab //172.31.0.1/lab /var/www/lab cifs defaults,user=myid,password=mypw 0 0 補充: 1. 查看目前的mount #df 2. 移除目前的mount #umount /var/www/lab

[MAC][git] 如何自動補齊 git 指令 (git-completion.bash)

MAC有預設安裝git,但在終端機模式操作git時,無法自動補齊指令,解決方法很簡單...