系統管理
Phanix
maintainer
1 Followers
37 Articles

Apache 2.4 CORS configuration

Phanix

如果是 api 的話,可以在程式的部分加上 header,但 resouce file (如圖片等)就得在 apache 裏頭做設定了 可以針對要設定的目錄在 site configuration file (/etc/apache2/sites-enabled/)中加上 &l...

Git Error: pack-objects died, out of memory

Phanix

紀錄一下… 今天遇到的,不過其實該 repository 也沒有很大的檔案,但是在 clone 的時候就會在 Compresing objects 的時候掛掉,然後回來這樣的錯誤訊息。$ git clone [email protected]:NS/PROJECT.git Cloning into 'PROJECT'...

一些 gitlab console command 整理

Phanix

雖然用 root 帳號從 web interface 或者透過 api 方式也可以做很多事情,但有時候從 gitlab console 來還是比較快。啟動 gitlab console $ sudo gitlab-rails console production 通常需要花個幾秒...

Gitlab server migration / 把 gitlab server 搬家

Phanix

這篇文章整理得很好,把落落長的 gitlab 官方文章變得精簡許多。安裝新 server 目前 gitlab 已經把 EE (enterprise edition) 跟 CE (community edition) 整合在一起,如果 EE 沒有付費,那麼試用期過後自動變成 CE。

Back to All

使用 OSS 作為 alibaba cloud (aliyun) 的檔案系統

Phanix

Alibaba cloud (aliyun) 上頭也有類似 gcp 的儲存服務,叫做 Object Storage Service (OSS),對於不常變更的檔案儲存算是便宜的選擇。而要在 ec instance 上直接存取的話,可以用 ossfs來將 bucket mount 起來當作一般檔案系統使用。

php+apache 執行 sudo 命令出現 sudo: no tty present and no askpass program specified

Phanix

php 用 exec (或 shell_exec 等)在 command line 下以 sudo 執行命令的時候,會出現sudo: no tty present and no askpass program specified的錯誤。主要原因是因為在 php + apache ...

Use ownCloud app, “Files Share Link Renamer”, to get customized share link

Phanix

其實會寫這篇的關係是因為 ownCloud 的 app 設定有點龜毛 =__= ownCloud 是個方便的cloud file server,還可以將檔案透過link的方式分享給其他外部使用者,但是自動產生類似hash的link總是不太好記,而 Files Share Link Renamer正好可以拿來用。

Apache 2.4 ProxyPass

Phanix

ProxyPass 可以把 URL A 轉去 URL B,並保留網址是 URL A。常見的用法可能像是 原本有網址 site-a.com,可是之後做了新版的網站,但是舊有的論壇功能 (www.site-a.com/forum/) 要留著 原本有 site-a.com 跟 sit...

[GIT] Delete wrong merge, then redo

Phanix

做 merge 的時候難免手殘… 如果還沒 push 到 server 上,那可以用 git reset –hard HEAD~1 來復原。如果是用 –soft 的話該 merge commit 依然會存在 local repository中,不像用 –hard 會刪除。

Apache keep-alive v.s. iOS ajax bug

Phanix

起因是因為 iOS 上 safari 瀏覽器在做 ajax request 的時候,有時會有bug (https://stackoverflow.com/questions/33895463/safari-ajax-request-failed-to-load-resource-...

Git push detached HEAD, and set upstream to remote branch

Phanix

今天遇到的狀況是,不小心把 local branch detach, 而且原本的 local branch 整個被改爛,然後要把修改過的東西(detached HEAD) push 回 remote branch,並把爛掉的 local branch track 上正確的 rem...

Adding process time in Apache log

Phanix

紀錄一下,要不然每次都還要找 +__+ 用 %{ms}T $ more /etc/apache2/apache.conf .... LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O %{ms}T \"%{Referer}i\" \"%{...

Git push to the wrong branch

Phanix

其實就是同事弄錯的事情經過 起因是同事想把Branch A倒退回前先前的 commit (rollback),下命令要直接對remote上的 branch 改指到某個 commit 上,但是因為工時太長(x)恍神(o)下錯命令… #當下在3d_new這個branch上,要roll...

Setting for Phalcon 3 + php 7 using mongodb

Phanix

php5 的時候還可以用 Mongo, 但是到了 php7 就強制要換成 MongoDB 才可以, 安裝方式如下(要先有 pecl) #如果有遇到 openssl 的問題的話, 可以先做下面這三行 $ sudo apt-get install -y autoconf g++ m...

Google Compute Engine auto snapshot

Phanix

很多人都知道之前 gitlab 裏頭的工程師不小心 rm -rf 的事件,所以當然要做好備份。在 google cloud 的機器可以乾脆直接寫 crontab 定期做 snapshot,不過這樣的方式也不能防止手殘砍掉負責跑這 crontab 的 instance 就是了 XD #!

Backup tables of mysql server and import to the other server

Phanix

這邊的使用情況是要把 gcp sql 的 import 到 aliyun 去 先在 gcp server 上用mysqldump 備份,然後利用 sshpass (要另外安裝) 指定 password 做 scp 到 aliyun server 上 $ sudo more /v...

Apache redirects specific site requests to the other URL

Phanix

ServerName www.site_name.com RedirectPermanent / http://www.the_other_site.com/ 起因就是因為XX的中國的機器用 domain name 連 http 要另外登記備案… WTF Original link: Phanix's Blog

mysql import error

Phanix

這個狀況在 aliyun RDS 系統上應該很容易遇到 將 mysqldump 出來的 sql 檔案用 mysql command 來做 import 是很常見的用法,像是 mysql -h test.mysql.rds.aliyuncs.com -u username -p ...

定期備份 mysql 資料到其他機器

Phanix

最理想的方式當然是做 cluster,但是有時候沒這麼理想。比方說最近遇到的例子就是有些機器在 google cloud 上,有些在 aliyun 上,但是從 aliyun 連 google cloud 真的是望眼欲穿,就連反過來從 google cloud 要連 aliyun ...

Clone a server from one project to the other in Google Cloud Platform

Phanix

目前看來有兩個方式,都可以 work 方法一 # in project-1 $ gcloud compute images create image-v1 --source-disk DISK_ID --source-disk-zone asia-east1-c --fami...

Create ssl certificate for node.js

Phanix

主要參考https://www.sitepoint.com/how-to-use-ssltls-with-node-js/ 依照順序是 先產生一個 RSA 2048 bit 的 key 產生一個 certification signing request 如果測試用可以加上第三步...

[GIT] Wrong merge and wrong branch

Phanix

人總是會有手殘眼糊腦弱的時候,總要有補救辦法。今天遇到的狀況像是下圖這樣,原本是把 3d 這個 branch 做好的功能 merge 回去 ui 這條上,然後要繼續開發 3d 這個 branch 的新功能,不過做完 merge 之後忘記切回 3d 這個 branch,繼續 com...

[GIT] 將特定branch同步成特定commit

Phanix

最常用到的狀況大概就是在新開的 branch 上做了很久,但是自以為是在 master 上,時間久了要 merge 卻是個眼花撩亂,只好直接拿這 branch 蓋掉 master。最糟糕的方式就是把所有 branch 都 fetch 下來且 track,把 branch的所有檔案...

dd v.s. fallocate v.s. truncate

Phanix

因為在 centos 7 上面要做 swapfile, 結果用 fallocate 出來的不能用,所以順便查一下 主要摘錄自這篇 http://ram.kossboss.com/dd-fallocate-truncate-making-big-files-quick/ 以要建...

Rotate node.js log

Phanix

預設 node.js 的 log file 會一直 append 上去,所以結果就是越來越多直到爆炸為止 假設原本 log 是在 /root/.forever 底下,可能是長成類似 RWs7.log 這樣的檔案名字。設定 /etc/logrotate.conf 來讓每天的 lo...

Create self-signed SSL for apache2 in ubuntu 14/16, with multi ports on https

Phanix

主要參考這篇跟這篇 有些實用的命令另列於下 $ sudo apache2ctl configtest Original link: Phanix's Blog

Backup mongodb to GCP storage with crontab

Phanix

情況是要把原本寫入 local mongodb 的 usage log dump 出 csv 檔案(並且從mongodb內刪除),並且把較舊的 csv 檔案移去 GCP storage。mongodump.sh #!/usr/bin/env bash MY_DATE="'$(d...

Apache multiple allow origin (enable CORS) for multiple domains

Phanix

筆記一下 Apache web server 只能設定一次 Access-Control-Allow-Origin header,如果有多個 domain 需要設定的話,通常會習慣在 .htaccess 內處理 但如果要在 apache 本身的設定內(例如 site-enabl...

從 GitLab 13.8.x 升級到 14.2.x

Phanix

因為有個 security 大洞,所以需要升級… 升級版本編號過程主要參考 https://docs.gitlab.com/ee/update/#upgrade-paths。$ sudo apt-get update $ sudo apt-get install gitlab...

Specify cache expire time in Apache 2.4

Phanix

如果有某些檔案會經常更動(比方說一些 batch process 會將結果寫成 .html 檔),又希望每次瀏覽時能夠拿到最新的,而不是瀏覽器內的 cache,那可以在 apache2.4 內這樣設定 Alias /myfolder /var/opt/www/myfolderp...