2012年2月26日 星期日
Ubuntu 上安裝sun-java6-JDK
手動安裝JDK
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ferramroberto/java
sudo apt-get update
sudo apt-get install sun-java6-jdk
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
手動安裝JRE
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ferramroberto/java
sudo apt-get update
sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts
出處:http://tekibrain.blogspot.com/2011/05/ubuntu-1104-sun-java-6-jdk.html
2012年2月23日 星期四
某APP主機的架構及安裝紀錄
前端結構是 iphone app -> java -> mysql
維護介面是 php -> mysql
1.安裝TOMCAT元件
iphone是連 deploy 在 tomcat 上的 java 程式
war 是 java application 要發佈到 tomcat 中
2.備份目錄摘要
備份目錄 1: /var/lib/tomcat7/webapps/ 全部
備份目錄 2: /home/carnews 全部
備份目錄 3: /etc/httpd/conf
備份目錄 4: /etc/httpd/conf.d
備份目錄 5: /etc/httpd/modules
備份目錄 6: /etc/httpd/ 全部
3.DOMAIN 修改
一. /home/carnews/admin/system/application/config
二. /etc/apache2/conf.d
三.
2012年2月15日 星期三
安裝php5-gd的元件方式
sudo /etc/init.d/apache2 stop
sudo apt-get install php5-gd
sudo /etc/init.d/apache2 start
sudo apt-get install php5-gd
sudo /etc/init.d/apache2 start
2012年2月14日 星期二
2012年2月13日 星期一
安裝 Java6 JDK 於 Ubuntu 11.10
sudo add-apt-repository ppa:ferramroberto/java sudo apt-get update sudo apt-get install sun-java6-jdk sun-java6-plugi
安裝PDO FOR PHP在UBUNTU上
For some reason there aren’t any PDO packages for PHP 5 on Ubuntu 6.10. They’re pretty easy to install from PECL but you might need to install the dev version of your database client libraries. Below is what I had to type to install PDO with the MySQL driver.
% sudo apt-get install libmysqlclient15-dev % sudo pecl install pdo % sudo pecl install pdo_mysql
You then need add the following to the end of your php.ini file(s). Depending on which version of PHP you installed they’ll be /etc/php5/apache2/php.ini, /etc/php5/cgi/php.ini and /etc/php/cli/php.ini.
extension=pdo.so extension=pdo_mysql.so
2012年2月12日 星期日
MYSQL PHPMYADMIN 更換WEB管理介面PORT
remove symlink to phpmyadmin.conf file
Code:
rm /etc/apache2/conf.d/phpmyadmin.conf
Code:
sudo nano /etc/apache2/ports.conf
Code:
user@mythtv:/etc/apache2$ cat ports.conf # If you just change the port or add more ports here, you will likely also # have to change the VirtualHost statement in # /etc/apache2/sites-enabled/000-default # This is also true if you have upgraded from before 2.2.9-3 (i.e. from # Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and # README.Debian.gz NameVirtualHost *:80 Listen 80 Listen 81 <IfModule mod_ssl.c> # SSL name based virtual hosts are not yet supported, therefore no # NameVirtualHost statement here Listen 443 </IfModule>
Code:
sudo vi /etc/apache2/sites-available/phpmyadmin
Code:
<VirtualHost *:81> ServerName phpmyadmin DocumentRoot /var/www-81 </VirtualHost>
Code:
sudo a2ensite phpmyadmin
Code:
sudo service apache2 restart
Code:
cd /var/www-81 sudo ln -s /usr/share/phpmyadmin/
並將/etc/mysql/apache2.conf 裡的Alias移除!
This is just a friendly warning and not really a problem (as in that something does not work).
If you insert a
ServerName localhost
in either
httpd.conf
or apache2.conf
in /etc/apache2
and restart apache the notice will disappear.
If you have a name inside
/etc/hostname
you can also use that name instead of localhost
.
And it uses
127.0.1.1
if it is inside your /etc/hosts
:127.0.0.1 localhost
127.0.1.1 myhostname
Troubleshooting Apache
If you get this error:
apache2: Could not determine the server's fully qualified domain name,
using 127.0.0.1 for ServerName
then use a text editor such as "sudo nano" at the command line or "gksudo gedit" on the desktop to create a new file,
sudo nano /etc/apache2/conf.d/fqdn
or
gksu "gedit /etc/apache2/conf.d/fqdn"
then add
ServerName localhost
to the file and save. This can all be done in a single command with the following:
echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn
2012年2月11日 星期六
MySQL安裝指南
安裝MySQL
sudo apt-get install mysql-server
這個應該很簡單了,而且我覺得大家在安裝方面也沒什麼太大問題,所以也就不多說了,下面我們來講講配置。
配置MySQL
注意,在Ubuntu下MySQL缺省是只允許本地訪問的,如果你要其他機器也能夠訪問的話,那麼需要改變/etc/mysql/my.cnf配置文件了!下面我們一步步地來:
默認的MySQL安裝之後根用戶是沒有密碼的,所以首先用根用戶進入:
$mysql -u root
在這裏之所以用-u root是因為我現在是一般用戶(firehare),如果不加-u root的話,mysql會以為是firehare在登錄。注意,我在這裏沒有進入根用戶模式,因為沒必要。一般來說,對mysql中的數據庫進行操作,根本沒必要進入根用戶模式,只有在設置時才有這種可能。
進入mysql之後,最要緊的就是要設置Mysql中的root用戶密碼了,否則,Mysql服務無安全可言了。
mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456";
注意,我這兒用的是123456做為root用戶的密碼,但是該密碼是不安全的,請大家最好使用大小寫字母與數字混合的密碼,且不少於8位。
這樣的話,就設置好了MySQL中的root用戶密碼了,然後就用root用戶建立你所需要的數據庫。我這裏就以xoops為例:
mysql>CREATE DATABASE xoops;
mysql>GRANT ALL PRIVILEGES ON xoops.* TO xoops_root@localhost IDENTIFIED BY "654321";
這樣就建立了一個xoops_roots的用戶,它對數據庫xoops有着全部權限。以後就用xoops_root來對xoops數據庫進行管理,而無需要再用root用戶了,而該用戶的權限也只被限定在xoops數據庫中。
如果你想進行遠程訪問或控制,那麼你要做兩件事:
其一:
mysql>GRANT ALL PRIVILEGES ON xoops.* TO xoops_root@"%" IDENTIFIED BY "654321";
允許xoops_root用戶可以從任意機器上登入MySQL。
其二:
$sudo gedit /etc/mysql/my.cnf
老的版本中
>skip-networking => # skip-networking
新的版本中
>bind-address=127.0.0.1 => bind-address= 你機器的IP
這樣就可以允許其他機器訪問MySQL了。
sudo apt-get install mysql-server
這個應該很簡單了,而且我覺得大家在安裝方面也沒什麼太大問題,所以也就不多說了,下面我們來講講配置。
配置MySQL
注意,在Ubuntu下MySQL缺省是只允許本地訪問的,如果你要其他機器也能夠訪問的話,那麼需要改變/etc/mysql/my.cnf配置文件了!下面我們一步步地來:
默認的MySQL安裝之後根用戶是沒有密碼的,所以首先用根用戶進入:
$mysql -u root
在這裏之所以用-u root是因為我現在是一般用戶(firehare),如果不加-u root的話,mysql會以為是firehare在登錄。注意,我在這裏沒有進入根用戶模式,因為沒必要。一般來說,對mysql中的數據庫進行操作,根本沒必要進入根用戶模式,只有在設置時才有這種可能。
進入mysql之後,最要緊的就是要設置Mysql中的root用戶密碼了,否則,Mysql服務無安全可言了。
mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456";
注意,我這兒用的是123456做為root用戶的密碼,但是該密碼是不安全的,請大家最好使用大小寫字母與數字混合的密碼,且不少於8位。
這樣的話,就設置好了MySQL中的root用戶密碼了,然後就用root用戶建立你所需要的數據庫。我這裏就以xoops為例:
mysql>CREATE DATABASE xoops;
mysql>GRANT ALL PRIVILEGES ON xoops.* TO xoops_root@localhost IDENTIFIED BY "654321";
這樣就建立了一個xoops_roots的用戶,它對數據庫xoops有着全部權限。以後就用xoops_root來對xoops數據庫進行管理,而無需要再用root用戶了,而該用戶的權限也只被限定在xoops數據庫中。
如果你想進行遠程訪問或控制,那麼你要做兩件事:
其一:
mysql>GRANT ALL PRIVILEGES ON xoops.* TO xoops_root@"%" IDENTIFIED BY "654321";
允許xoops_root用戶可以從任意機器上登入MySQL。
其二:
$sudo gedit /etc/mysql/my.cnf
老的版本中
>skip-networking => # skip-networking
新的版本中
>bind-address=127.0.0.1 => bind-address= 你機器的IP
這樣就可以允許其他機器訪問MySQL了。
2012年2月10日 星期五
WINDOWS7 安裝在SSD固態硬碟的PC的注意事項
有些主機板裝WINDOWS7會有不明錯誤,以下是注意的地方:
1.注意光碟挑片問題
2.WINDOWS7 32位元只能插4GB安裝系統
3.主機板調成IDE模式
4.移除獨立顯示卡
5.BIOS電源選項~把硬碟休眠關掉 (LIAO HAHA經驗分享)
以上為相關安裝經驗!
1.注意光碟挑片問題
2.WINDOWS7 32位元只能插4GB安裝系統
3.主機板調成IDE模式
4.移除獨立顯示卡
5.BIOS電源選項~把硬碟休眠關掉 (LIAO HAHA經驗分享)
以上為相關安裝經驗!
調整 Apache & MySQL 連線數
調整 Apache & MySQL 連線數
Apache 與 MySQL 的預設連線數都是 100
Apache 部份需要修改 httpd.conf
MaxKeepAliveRequests 10000 //增加到 10,000 人
MySQL 的部份修改 /etc/my.cnf
set-variable = max_connections=10000 // 同樣也加到 10,000 人
版本提示!!!
# MySQL 5
max_connections=500 # 全部接受的最大連線數
max_user_connections=20 # 每個使用者最大連線數
# MySQL 4
set-variable=max_connections=500 # 全部接受的最大連線數
set-variable=max_user_connections=20 # 每個使用者最大連線數
Apache 部份需要修改 httpd.conf
MaxKeepAliveRequests 10000 //增加到 10,000 人
MySQL 的部份修改 /etc/my.cnf
set-variable = max_connections=10000 // 同樣也加到 10,000 人
版本提示!!!
# MySQL 5
max_connections=500 # 全部接受的最大連線數
max_user_connections=20 # 每個使用者最大連線數
# MySQL 4
set-variable=max_connections=500 # 全部接受的最大連線數
set-variable=max_user_connections=20 # 每個使用者最大連線數
2012年2月9日 星期四
Apache調校效能限制設定
提校效能限制設定:
<IfModule prefork.c>
# number of server processes to start
# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#startservers
StartServers 128
# minimum number of server processes which are kept spare
# http://httpd.apache.org/docs/2.2/mod/prefork.html#minspareservers
MinSpareServers 16
# maximum number of server processes which are kept spare
# http://httpd.apache.org/docs/2.2/mod/prefork.html#maxspareservers
MaxSpareServers 64
# highest possible MaxClients setting for the lifetime of the Apache process.
# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#serverlimit
ServerLimit 2048
# maximum number of server processes allowed to start
# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxclients
MaxClients 2048
# maximum number of requests a server process serves
# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxrequestsperchild
MaxRequestsPerChild 10000
</IfModule>
重啟 apache 請先 stop 再 start。
/etc/init.d/apache2 stop
/etc/init.d/apache2 start
<IfModule prefork.c>
# number of server processes to start
# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#startservers
StartServers 128
# minimum number of server processes which are kept spare
# http://httpd.apache.org/docs/2.2/mod/prefork.html#minspareservers
MinSpareServers 16
# maximum number of server processes which are kept spare
# http://httpd.apache.org/docs/2.2/mod/prefork.html#maxspareservers
MaxSpareServers 64
# highest possible MaxClients setting for the lifetime of the Apache process.
# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#serverlimit
ServerLimit 2048
# maximum number of server processes allowed to start
# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxclients
MaxClients 2048
# maximum number of requests a server process serves
# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxrequestsperchild
MaxRequestsPerChild 10000
</IfModule>
重啟 apache 請先 stop 再 start。
/etc/init.d/apache2 stop
/etc/init.d/apache2 start
2012年2月3日 星期五
OpenSSH 使用 SFTP 登入並將帳戶設為 chroot 的方法
在使用 WinSCP 或 FileZilla Client 使用 SFTP 登入 OpenSSH 伺服器,在一般的狀態下使用者可以在系統切換,基於安全透過 SFTP 登入伺服器透過 chroot() 的方法將使用者鎖定 在(chroot) 特定目錄下,以下就是設定的方式。
1. 新增一個 SFTP 專用的群組
在這裡我們先建立一個 sftponly 群組
2. 修改 OpenSSH 的設定檔
編輯 "/etc/ssh/sshd_config" 檔案,先找到以下 Subsystem 設定:
並修改成:
然後在該設定檔最後加上以下設定,其中的 ChrootDirectory 設定的 %u 代表使用者帳號:
3. 建立新使用者,並加入 sftponly 群組
建立新使用者後,預設會建立 /home/USERNAME 家目錄 (Home Directory):
由於我們在 sshd_config 設定檔中有宣告只要符合 sftponly 群組的使用者都套用 ChrootDirectory 的設定,因此必須將該使用者加入到 sftponly 群組中:
另一個重點是,由於要套用 chroot() 的關係,該使用者登入後的根目錄必須擁有一些必要的目錄,為了節省設定上的麻煩,我們只要將該使用者的家目錄修改為根目錄 ( / ) 即可:
4. 修正使用者帳戶的家目錄權限
也是由於 chroot() 的特殊限制,這個要 chroot() 目錄的擁有者必須為 root,而且該目錄的權限也必須設定為 755 才行:
這裡沒有設定正確的話將永遠無法成功登入,像我第一次設定時就遇到了以下錯誤: ( /var/log/auth.log )
5. 在使用者目錄下建立允許上傳檔案的目錄,並賦予適當的目錄權限
這一個步驟也是蠻重要的,因為 chroot() 過的目錄擁有者必須為 root 且目錄權限為 755,所以使用者登入後一定無法上傳任何檔案到這個目錄,若要讓使用者能上傳檔案,則必須先幫使用者建立好適當的目錄與設定權限才能夠上傳檔案:
由於該帳戶只需讓使用者上傳檔案,不允許使用者登入使用 shell,所以也建議將一些家目錄內的隱藏檔刪除,以免使用者透過 WinSCP 或 FileZilla Client 登入時看到一些奇怪的檔案。
相關連結
1. 新增一個 SFTP 專用的群組
在這裡我們先建立一個 sftponly 群組
addgroup --system sftponly
2. 修改 OpenSSH 的設定檔
編輯 "/etc/ssh/sshd_config" 檔案,先找到以下 Subsystem 設定:
Subsystem sftp /usr/lib/openssh/sftp-server internal-sftp
Subsystem sftp internal-sftp
Match group sftponly ChrootDirectory /home/%u X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
3. 建立新使用者,並加入 sftponly 群組
建立新使用者後,預設會建立 /home/USERNAME 家目錄 (Home Directory):
adduser sftpuser
adduser sftpuser sftponly
usermod -d / sftpuser
4. 修正使用者帳戶的家目錄權限
也是由於 chroot() 的特殊限制,這個要 chroot() 目錄的擁有者必須為 root,而且該目錄的權限也必須設定為 755 才行:
chown root.root /home/sftpuser chmod 755 /home/sftpuser
sshd[8636]: pam_unix(sshd:session): session opened for user sftpuser by (uid=0)
sshd[8707]: fatal: bad ownership or modes for chroot directory "/home/sftpuser"
sshd[8636]: pam_unix(sshd:session): session closed for user
5. 在使用者目錄下建立允許上傳檔案的目錄,並賦予適當的目錄權限
這一個步驟也是蠻重要的,因為 chroot() 過的目錄擁有者必須為 root 且目錄權限為 755,所以使用者登入後一定無法上傳任何檔案到這個目錄,若要讓使用者能上傳檔案,則必須先幫使用者建立好適當的目錄與設定權限才能夠上傳檔案:
cd /home/sftpuser mkdir upload chown sftpuser.sftpuser upload
相關連結
在UBUNTU設定WINDOWS的磁碟權限
範例:
//192.168.88.250/wh /wh cifs user=haha,password=111,iocharset=utf8,codepage=uft8,rw,file_mode=0774,dir_mode=0775,uid=1000,gid=1000 0 0
#這是在fstab裡面的設定
解說:
來源資料夾 目的資料夾 檔案格式 user=使用者帳號,password=使用者密碼,iocharset=本機端語言編碼,codepage=遠端主機語言編碼,
rw 可讀寫
file_mode 預設寫入檔案的權限
dir_mode 預設寫入資料夾的權限
uid 寫入檔案傭有者強制改為此uid
gid 寫入檔案擁有群組強制改為此gid
From LiaoHAHA提供
//192.168.88.250/wh /wh cifs user=haha,password=111,iocharset=utf8,codepage=uft8,rw,file_mode=0774,dir_mode=0775,uid=1000,gid=1000 0 0
#這是在fstab裡面的設定
解說:
來源資料夾 目的資料夾 檔案格式 user=使用者帳號,password=使用者密碼,iocharset=本機端語言編碼,codepage=遠端主機語言編碼,
rw 可讀寫
file_mode 預設寫入檔案的權限
dir_mode 預設寫入資料夾的權限
uid 寫入檔案傭有者強制改為此uid
gid 寫入檔案擁有群組強制改為此gid
From LiaoHAHA提供
訂閱:
文章 (Atom)