system administration
Phanix
maintainer
1 Followers
53 Articles

AWS S3+Media Converter+CloudFront 做 video file streaming CDN服務

Phanix

雖然最後算算價格跟考慮使用情境應該不會採用這樣的 solution,但還是來記錄一下。Main idea S3 bucket 會因為 region 限制,所以如果使用者會遍部全球各地,那網路速度變成是服務最大的瓶頸。除非 sync 所有資料,但是這樣又會讓儲存費用倍增,對於少量不...

關閉windows遠端桌面斷線後自動登出

Phanix

不確定在自行安裝的機器上面會不會這樣,但至少在 GCP (google cloud platform)上頭的 windows server機器會這樣,所以只好改一下設定。主要參考這篇。執行 gpedit.msc 開啟 Local Group Policy Editor (奇怪,從...

安裝非預設版號 certbot apache plugin / installing certbot apache plugin with non-default version number

Phanix

在大部分情況下安裝預設版本都可以正常無痛完成,但有時候就是會遇到不一樣的情況。因為有台 server 之前要安裝 route53 plugin,然後要裝預設的版本一直無法下載成功,解決方式就是更新 certbot 版本。但接下來要安裝 apache plugin 的時候就發現 a...

指定安裝 phalcon 的版本

Phanix

其實是因為這幾天phalcon 4 正式 release,然後自己不小心讓系統全部更新,然後就爆炸了,所以只好來降版本。整個phalcon 安裝檔的 repository都在同樣地方,如果現在沒有特別指定的話,php7.2(含)以上版本安裝 phalcon 會裝上 phalcon 4.0。

Back to All

rsync with specific account and password 指定特定帳號密碼做 rsync

Phanix

主要透過 sshpass 套件去做類似密碼輸入的動作。$ sudo crontab -l * * * * * rsync -ratlz --delete-after --rsh="/usr/bin/sshpass -p YOURPASSWORD ssh -o StrictHos...

Exclude a url path using apache .htaccess

Phanix

用 http auth 時,如果要避開某些 url 不做檢查(例如API)。一般來說全部都要檢查的話,.htaccess 檔案會長這樣。AuthType Basic AuthName "Restricted Content" AuthUserFile /var/opt/www...

git cherry-pick 與 git show + git apply 與 git merge

Phanix

如果是有部分的更改或新增功能,用 git merge 有時候不見得是好主意 git merge的好處是可以直接把某 branch commit 直接整合入另一 branch,但如果 conflict 超多,有時候反而 resolve conflict 會搞到瘋掉,特別是兩個 branch 已經分道揚鑣很久。

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'...

go get with git repository with http

Phanix

go lang 的 go tools 做 go get 時,預設都會用 https 去存取 git repository,可是當 https 不能使用,只能跑 http 的時候,要做一些改變。實際上 go get 指令也是透過 git command 去執行,只是會在 git r...

Gitlab API 常用功能整理

Phanix

Gitlab 提供了一些 api ,回傳資料皆是以 JSON 格式表示,不管是要寫程式來協助做管理,或者是要從 command line 用 curl 來做一些事情都還蠻方便的,畢竟 web 介面有時候就是比較慢一點… Group 相關 使用的時候需要在 header 給予 t...

一些 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。

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

Phanix

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

phalcon framework build error

Phanix

今天在 Redhad 6.6 上遇到問題,會有類似這樣的錯誤。/tmp/cc2QQ7Ek.s:778709: Error: no such instruction: shlx %rdx,%rsi,%rdx’ /tmp/cc2QQ7Ek.s:779180: Error: no su...

Installing apache, mysql, php 7.0, php-apcu and Phalcon framework on Centos 7

Phanix

紀錄一下。被權限設定浪費不少時間 =_= #install apache2.4 httpd sudo yum install httpd sudo systemctl start httpd.service 如果直接 yum install mysql 的話,會裝 mariadb。

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...

Move wordpress to the other subfolder (or alias folder)

Phanix

主要參考https://support.tigertech.net/move-wordpress#moving-wordpress-to-jmp 假設要從原本 http://www.test.com/ 移到 http://www.test.com/blog/ 如果 /blog/...

Merge multiple git repositories

Phanix

建議 git 版本 2.9 以上,原因是 2.9 的版本以上,在 git merge 時可以下參數 ––allow-unrelated-histories 升級 git # 如果要升級 git 的話可以照以下步驟 $ sudo add-apt-repository ppa:g...

[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...

Rollback a commit on remote git repository

Phanix

因為有同事幹了蠢事,所以紀錄一下順便寫一下差異 第一種方式是先 git reset 然後做 force push, 例如; ~/testGit/gittest$ git reset --hard 36b6b053ff9980ce7934f9f9c4a5a849ca7fcc7a ...

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...