原本工作上就是寫C#,但是ASP.NET很久沒碰了,最近有需求要做Web後台所以就評估用ASP.NET適用性,發現.Net Core可以運作在Linux主機後,就寫了一個測試的WebAPI做測試
2018年12月2日 星期日
2017年2月19日 星期日
安裝Mantis作為事件追蹤系統
最近開會一直有橫向聯繫不夠的問題發生,因此老闆指示要加強各單位橫向聯繫的功能。
所以打算導入Mantis讓「支票攤在陽光下,自己開的支票自己坦」
1. 安裝 CentOS 7.3.1611 使用最小安裝,設定固定IP
2. 修改 /etc/selinux/config 將模式改為 permissive
3. 使用yum安裝所需的套件 net-tools unzip wget mariadb-server httpd php php-pdo php-mysql
4. 設定服務開機啟動 systemctl enable httpd
5. 啟動服務 systemctl start mariadb
6. 關閉防火牆 systemctl disable firewalld (好孩子不要學)
7. 下載 mantisbt-2.1.0.zip 解壓縮放置到 /var/www/html/
8. 下載 adminer.php 放置到 /var/www/html/
9. 使用adminer登入mariadb建立一個新的資料庫與使用者
10. 使用瀏覽器連接到mantis目錄會導向installer
11. 依照installer的引導完成mantis初始化
12. 最後需要將config.inc.php內容放置到 /var/www/html/mantis/config/config_inc.php
13. 預設帳號為administrator 密碼為 root
以上就是基本安裝
所以打算導入Mantis讓「支票攤在陽光下,自己開的支票自己坦」
1. 安裝 CentOS 7.3.1611 使用最小安裝,設定固定IP
2. 修改 /etc/selinux/config 將模式改為 permissive
3. 使用yum安裝所需的套件 net-tools unzip wget mariadb-server httpd php php-pdo php-mysql
4. 設定服務開機啟動 systemctl enable httpd
5. 啟動服務 systemctl start mariadb
6. 關閉防火牆 systemctl disable firewalld (好孩子不要學)
7. 下載 mantisbt-2.1.0.zip 解壓縮放置到 /var/www/html/
8. 下載 adminer.php 放置到 /var/www/html/
9. 使用adminer登入mariadb建立一個新的資料庫與使用者
10. 使用瀏覽器連接到mantis目錄會導向installer
11. 依照installer的引導完成mantis初始化
12. 最後需要將config.inc.php內容放置到 /var/www/html/mantis/config/config_inc.php
13. 預設帳號為administrator 密碼為 root
以上就是基本安裝
2011年9月28日 星期三
亂搞的X86 embedded
先聲明,這非正統的embedded作法,完全沒有重編譯任何東西的土砲法
起因於想縮小CentOS的大小跟複雜度,為了方便又需要VBOX上就可以測試所做的嘗試
目前進度是可開機進入無init,而是直接執行busybox的ash
1.建立一個新的虛擬硬碟
2.使用fdisk切割為一個分割區再格式化為ext2
3.將新的分割區掛載到/mnt,並建立boot dev proc sys sbin tmp
4.將現在的核心複製到/mnt的boot中
5.使用mkinitrd建立新的initrd.img
6.使用grub-install將loader安裝製新的硬碟並設定grub.conf
7.複製/sbin/busybox到/mnt的/sbin中
起因於想縮小CentOS的大小跟複雜度,為了方便又需要VBOX上就可以測試所做的嘗試
目前進度是可開機進入無init,而是直接執行busybox的ash
1.建立一個新的虛擬硬碟
2.使用fdisk切割為一個分割區再格式化為ext2
3.將新的分割區掛載到/mnt,並建立boot dev proc sys sbin tmp
4.將現在的核心複製到/mnt的boot中
5.使用mkinitrd建立新的initrd.img
6.使用grub-install將loader安裝製新的硬碟並設定grub.conf
7.複製/sbin/busybox到/mnt的/sbin中
標籤:
CentOS,
How to,
Linux,
X86 embedded
2011年9月15日 星期四
CentOS5 => CentOS6
1. shadow密碼的HASH方式由md5改為sha512
http://scottlinux.com/2011/06/25/upgrade-red-hat-centos-password-hashing/
http://www.cyberciti.biz/faq/rhel-centos-fedora-linux-upgrading-password-hashing/
2. /etc/inittab整個解體為多個script於/etc/init/目錄底下,與/etc/sysconfig/init 這個設定檔
3. 預設改用ext4檔案系統,且文字介面安裝模式無法設定分割區與網路(應該可以用kickstart硬幹出來)
3. vixie-cron由cronie取代(因為相依性被迫安裝postfix),syslog由rsyslog取代
4. python為2.6、PHP為5.3
http://scottlinux.com/2011/06/25/upgrade-red-hat-centos-password-hashing/
http://www.cyberciti.biz/faq/rhel-centos-fedora-linux-upgrading-password-hashing/
2. /etc/inittab整個解體為多個script於/etc/init/目錄底下,與/etc/sysconfig/init 這個設定檔
3. 預設改用ext4檔案系統,且文字介面安裝模式無法設定分割區與網路(應該可以用kickstart硬幹出來)
3. vixie-cron由cronie取代(因為相依性被迫安裝postfix),syslog由rsyslog取代
4. python為2.6、PHP為5.3
2011年9月14日 星期三
Centos6 + Squid 3 使用簡易認證 (htpasswd)
mkdir /media/cdrom mount /dev/cdrom /media/cdrom yum --disablerepo=\* --enablerepo=c6-media install httpd-tools squid
http_port 3128 error_directory /usr/share/squid/errors/zh-tw cache_dir ufs /var/spool/squid 100 16 256 cache_mem 16 MB visible_hostname ezproxy logfile_rotate 2 access_log /var/log/squid/access.log #SSL acl CONNECT method CONNECT acl ssl_port port 443 #Auth auth_param basic realm Welcome to proxy service auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/squid-passwd acl allow_user proxy_auth REQUIRED http_access deny CONNECT !ssl_port http_access allow allow_user all http_access deny all
2011/09/14 10:28:37| WARNING: (B) '::/0' is a subnetwork of (A) '::/0' 2011/09/14 10:28:37| WARNING: because of this '::/0' is ignored to keep splay tree searching predictable 2011/09/14 10:28:37| WARNING: You should probably remove '::/0' from the ACL named 'all'
In Squid 3.0 and above, the 'all' ACL is built-in, you cannot (& need not) define it.
http://www.l-penguin.idv.tw/article/proxy-auth.htm
2011年7月13日 星期三
製做CentOS 6的mini安裝片
CentOS6已經在前幾天Release了,與之前不同這次只有DVD與net-install,沒有CD版了
圖型安裝界面所需的記憶也超過512MB,文字介面安裝少了許多選項(磁碟分割、套件選擇)
不過有加快啟動速度與EXT4的檔案系統
延續之前自訂CentOS安裝片的內容
底下只說明CentOS 6中不同的部分
1.使用net-install當做母片的話,需要複製DVD根目錄中的.discinfo,才會認得安裝片
2.createrepo前,先把repomd.xml改名為comps.xml
3.CentOS6的implantisomd5獨立為isomd5sum套件,位於/usr/bin/implantisomd5
圖型安裝界面所需的記憶也超過512MB,文字介面安裝少了許多選項(磁碟分割、套件選擇)
不過有加快啟動速度與EXT4的檔案系統
延續之前自訂CentOS安裝片的內容
底下只說明CentOS 6中不同的部分
1.使用net-install當做母片的話,需要複製DVD根目錄中的.discinfo,才會認得安裝片
2.createrepo前,先把repomd.xml改名為comps.xml
3.CentOS6的implantisomd5獨立為isomd5sum套件,位於/usr/bin/implantisomd5
2011年4月15日 星期五
自訂CentOS安裝片
為啥要自訂安裝片呢,起因於LAMP環境需要用好幾片CD光碟,怎不用DVD呢....因為老舊的IBM Server沒有DVD,所以當時都用第一片做最小安裝(就是不會討其他片才能完成的),然後再用yum來安裝所需要的PHP、Apache跟Mysql,久而久之也就習慣了,而且還養成了一種怪僻=>只做最小安裝,直到最近TIPC完成後需要大量佈署到機器上,如果一台一台裝常常會忘東忘西的,還好有寫安裝command筆記的習慣,就慢慢的把這些command寫成script,因為看到另一款軟體使用kickstart來自動安裝完全不需要人工介入(當然還是需要人把光碟片放進去啦),不過是DVD版的全安裝,這讓小弟很無法忍受,於是利用閒暇時間爬文找出如何自訂安裝光碟內容(包含新增移除套件)
必備項目
1.UltraISO Premium Edition
2.CentOS 安裝光碟CD1 or DVD
3.VBOX虛擬機器
4.一點閒暇時間XD
5.具有網路連線(非必要)
一、首先先在VBOX中安裝CentOS,安裝完畢後在/root的底下有個install.log這是這次安裝的rpm套件list,接著掛載安裝光碟到/mnt,然後使用下面的shell script把安裝中真正需要用到RPM複製到硬碟中
使用方式 ./mvrpm.sh /mnt/CentOS /root/mycd/CentOS
接著複製原始的repodata
二、更新或加入套件(非必要)
如果說安裝後不想更新想預先把新版RPM置換掉可以利用yum的downloadonly插件來下載RPM,取代就是把現有CentOS目錄中舊版本的RPM刪掉再把新版放進去(此人工動作十分耗時,請量力而為)
三、重製repodata
這是一個很神奇的步驟,這步小弟就搞了兩個禮拜,務必換到repodata的上一層目錄,並同時可以看到repodata與CentOS(放置RPM)的目錄,如果沒有createrepo這個command請自行安裝
新版本的createrepo會在重建db時加入hash在檔名
早期的安裝程式可能會無法正常載入,可以加上 --simple-md-filenames這個參數
createrepo --simple-md-filenames -g repodata/c6-minimal-x86_64.xml .
四、編輯ISO
現在回到Windows把原本安裝那片ISO使用工具打開然後清空CentOS目錄的內容,在把剛剛在VBOX中的/root/mycd/CentOS中的RPM放進來,接著把剛剛重建的repodata也覆蓋掉光碟中的版本
如果要使用kickstart可以複製到光碟根目錄中然後再修改isolinux目錄底下的isolinux.cfg將第一行的預設參數改成
五、測試
在經過幾次1-4的步驟與反覆的測試安裝過程後呢,安裝光碟應該可以如預期的行為運作了,最後加上光碟本身的驗證碼讓光碟的自我檢測功能是可以使用的
必備項目
1.UltraISO Premium Edition
2.CentOS 安裝光碟CD1 or DVD
3.VBOX虛擬機器
4.一點閒暇時間XD
5.具有網路連線(非必要)
一、首先先在VBOX中安裝CentOS,安裝完畢後在/root的底下有個install.log這是這次安裝的rpm套件list,接著掛載安裝光碟到/mnt,然後使用下面的shell script把安裝中真正需要用到RPM複製到硬碟中
#!/bin/sh
if [ "$#" != "3" ];then
echo "$0 install.log src_rpmdir dst_rpmdir";
exit 1;
fi
cat $1|grep Installing|awk -F '[ :]' '{system("if [ -f '$2'"$NF".rpm ];then cp -f '$2'"$NF".rpm '$3';else echo '"Can Not find"' "$NF";fi;")}';
使用方式 ./mvrpm.sh /mnt/CentOS /root/mycd/CentOS
接著複製原始的repodata
cp -R /mnt/repodata /root/mycd
二、更新或加入套件(非必要)
如果說安裝後不想更新想預先把新版RPM置換掉可以利用yum的downloadonly插件來下載RPM,取代就是把現有CentOS目錄中舊版本的RPM刪掉再把新版放進去(此人工動作十分耗時,請量力而為)
yum --downloadonly --downloaddir=/root/new update
三、重製repodata
createrepo -g repodata/comps.xml .
這是一個很神奇的步驟,這步小弟就搞了兩個禮拜,務必換到repodata的上一層目錄,並同時可以看到repodata與CentOS(放置RPM)的目錄,如果沒有createrepo這個command請自行安裝
新版本的createrepo會在重建db時加入hash在檔名
早期的安裝程式可能會無法正常載入,可以加上 --simple-md-filenames這個參數
createrepo --simple-md-filenames -g repodata/c6-minimal-x86_64.xml .
四、編輯ISO
現在回到Windows把原本安裝那片ISO使用工具打開然後清空CentOS目錄的內容,在把剛剛在VBOX中的/root/mycd/CentOS中的RPM放進來,接著把剛剛重建的repodata也覆蓋掉光碟中的版本
如果要使用kickstart可以複製到光碟根目錄中然後再修改isolinux目錄底下的isolinux.cfg將第一行的預設參數改成
default linux ks=cdrom:/ks.cfg
五、測試
在經過幾次1-4的步驟與反覆的測試安裝過程後呢,安裝光碟應該可以如預期的行為運作了,最後加上光碟本身的驗證碼讓光碟的自我檢測功能是可以使用的
/usr/lib/anaconda-runtime/implantisomd5 --force /root/my-centos.iso
2011年4月9日 星期六
利用kickstart在安裝前檢查網路卡數量
最近系統差不多完工了開始製作安裝片,因為設計上最少就需要兩個NIC介面,為了避免裝完後才發現有抓不到網卡的問題,或是使用者想硬裝到只有一張卡的機器上,所已有了安裝前檢查的想法
爬了一下文發現kickstart的%pre區段可以達到這個目的(如下圖)
注意這段程式只適用於文字介面安裝模式
爬了一下文發現kickstart的%pre區段可以達到這個目的(如下圖)
注意這段程式只適用於文字介面安裝模式
2010年10月15日 星期五
Linux安裝Zend Optimizer
基於某些
自私邪惡確保利益的原則下,所有的客製化與中介程式都要加密
#下載ZendOptimizer並解開,選擇對應的PHP版本,並複製到lib目錄
/usr/lib/php/modules/ZendOptimizer.so
#編輯php設定,加入zend_extension而不是extension
vi /etc/php.ini
zend_extension=/usr/lib/php/modules/ZendOptimizer.so
#驗證看看是否有出現with Zend Optimizer
php -v
PHP 5.1.6 (cli) (built: Mar 31 2010 02:44:37)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
2010年10月2日 星期六
用POP3將Dovecot上所有信件重新下載的辦法
一早接到報修,客戶的Mail Server有使用者使用Office 2010的Outlook,但是無法把在Webmail上的所有信件都收下來備份
原本以為是Outlook的問題,但是測試了幾款Clinet都一樣,新的信件可以收下來但是已經讀取過的不行(其實是以前收過了)
處理方式很簡單,刪除Maildir底下的dovecot.*只保留dovecot-uidlist,打開dovecot-uidlist將第一行的第三個欄位改為1
打開Client開始收信,如果出現"-ERR [IN-USE]Couldn't sync mailbox",表示Quota爆掉了,因為重建索引檔會占用比較大的空間,先適度的放寬Quota就可以了,打完收工XD
原本以為是Outlook的問題,但是測試了幾款Clinet都一樣,新的信件可以收下來但是已經讀取過的不行(其實是以前收過了)
處理方式很簡單,刪除Maildir底下的dovecot.*只保留dovecot-uidlist,打開dovecot-uidlist將第一行的第三個欄位改為1
打開Client開始收信,如果出現"-ERR [IN-USE]Couldn't sync mailbox",表示Quota爆掉了,因為重建索引檔會占用比較大的空間,先適度的放寬Quota就可以了,打完收工XD
2010年8月17日 星期二
CentOS vs 多媒體
因為前幾天將桌機裝好了pt880的sata居然全壞了於是改用舊的WD80G將就一下
裝完後發現...沒可以用的播放器阿,之前在nb上用Media Player Classic跑網芳抓NAS上得電影超慢
至於為什麼裝CentOS而不用Fedora呢?因為平時工作就用這個怕編譯出來有相依性所以就全統一了
找了一下發現有mplayer可以用but 現有的rpm似乎都有點舊了於是就陷入了編譯地獄之中
問題在於source中的rpm spec有點舊了(2007/10)編不出來
花了些時間改spec把沒啥用的功能去掉之後編譯出一個i686的GUI版rpm
解決mplayer之後發現這介面還真的只能拿來播放影片
拿來波放音樂太痛苦了,雖然有play list但是沒辦法重複/隨機播放
於是裝Rhythmbox來用,但是沒辦法播放mp3,因為mp3格式是有版權的
爬了文發現要安裝gstreamer-plugins-ugly才行,可以在rpmfusion找到打包好的直接用yam安裝即可
裝完後發現...沒可以用的播放器阿,之前在nb上用Media Player Classic跑網芳抓NAS上得電影超慢
至於為什麼裝CentOS而不用Fedora呢?因為平時工作就用這個怕編譯出來有相依性所以就全統一了
找了一下發現有mplayer可以用but 現有的rpm似乎都有點舊了於是就陷入了編譯地獄之中
問題在於source中的rpm spec有點舊了(2007/10)編不出來
花了些時間改spec把沒啥用的功能去掉之後編譯出一個i686的GUI版rpm
解決mplayer之後發現這介面還真的只能拿來播放影片
拿來波放音樂太痛苦了,雖然有play list但是沒辦法重複/隨機播放
於是裝Rhythmbox來用,但是沒辦法播放mp3,因為mp3格式是有版權的
爬了文發現要安裝gstreamer-plugins-ugly才行,可以在rpmfusion找到打包好的直接用yam安裝即可
2009年5月22日 星期五
在CentOS使用srpm安裝vsftpd
今天維護VHOST主機時把SFTP轉換成FTP over SSL,使用yum的vsftpd後發現Filezilla可以連線但是無法取得目錄列表,訊息列顯示
Google後發現這是vsftpd的Bug,在2.0.7版後修正了,但是CentOS內建的還是2.0.5,原本打算用Fedora10的rpm安裝,發現有相依性,於是使用Fedora10的srpm重新打包
下載SRPM
解開SRPM
安裝相依的函式庫
編輯spec檔案
將第50行由tcp_wrappers-devel改成tcp_wrappers
因為CentOS中tcp_wrappers-devel包還在tcp_wrappers裡面
打包RPM
打包的結果在
接下來使用rpm指令安裝就好
Could not read from transfer socket: ECONNABORTED - Connection aborted
Google後發現這是vsftpd的Bug,在2.0.7版後修正了,但是CentOS內建的還是2.0.5,原本打算用Fedora10的rpm安裝,發現有相依性,於是使用Fedora10的srpm重新打包
下載SRPM
wget http://opensource.nchc.org.tw/fedora/linux/releases/10/Fedora/source/SRPMS/vsftpd-2.0.7-1.fc10.src.rpm
解開SRPM
rpm -ivh vsftpd-2.0.7-1.fc10.src.rpm
安裝相依的函式庫
yum install tcp_wrappers pam-devel libcap-devel
編輯spec檔案
vi /usr/src/redhat/SPECS/vsftpd.spec
將第50行由tcp_wrappers-devel改成tcp_wrappers
因為CentOS中tcp_wrappers-devel包還在tcp_wrappers裡面
BuildRequires: tcp_wrappers
打包RPM
rpmbuild -bb vsftpd.spec
打包的結果在
/usr/src/redhat/RPMS/i386/vsftpd-2.0.7-1.i386.rpm
接下來使用rpm指令安裝就好
rpm -ivh /usr/src/redhat/RPMS/i386/vsftpd-2.0.7-1.i386.rpm
訂閱:
文章 (Atom)