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

2012年2月14日 星期二

SSH SCP 傳資料方式

scp是跑ssh
scp -r 來源  目標
如果是遠端
要加入登入的帳號
範例:
scp -r root@192.168.1.1:/etc /tmp

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
make apache listen on port 81 (or what ever you desire.)
Code:
sudo nano /etc/apache2/ports.conf
Add "Listen 81" to the file.
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>
Now create the vHost:
Code:
sudo vi /etc/apache2/sites-available/phpmyadmin
add the following to the file: 
Code:
<VirtualHost *:81>
  ServerName phpmyadmin
  DocumentRoot /var/www-81
</VirtualHost>
Enable the vHost:
Code:
sudo a2ensite phpmyadmin
Restart Apache:
Code:
sudo service apache2 restart
Create a symlink to the phpmyadmin directoy:
Code:
cd /var/www-81
sudo ln -s /usr/share/phpmyadmin/
At this point navigating to http://ip/phpmyadmin should not show the page. but http://ip:81/phpmyadmin should.


並將/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了。

查詢UBUNTU檔案大小指令

du --max-depth=1 -xh | sort -n

2012年2月10日 星期五

姑姪的電腦真"大"台



WINDOWS7 安裝在SSD固態硬碟的PC的注意事項

有些主機板裝WINDOWS7會有不明錯誤,以下是注意的地方:

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     # 每個使用者最大連線數

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

2012年2月3日 星期五

OpenSSH 使用 SFTP 登入並將帳戶設為 chroot 的方法

在使用 WinSCPFileZilla Client 使用 SFTP 登入 OpenSSH 伺服器,在一般的狀態下使用者可以在系統切換,基於安全透過 SFTP 登入伺服器透過 chroot() 的方法將使用者鎖定 (chroot) 特定目錄下,以下就是設定的方式。
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
然後在該設定檔最後加上以下設定,其中的 ChrootDirectory 設定的 %u 代表使用者帳號:
Match group sftponly
         ChrootDirectory /home/%u
         X11Forwarding no
         AllowTcpForwarding no         ForceCommand internal-sftp

3. 建立新使用者,並加入 sftponly 群組
建立新使用者後,預設會建立 /home/USERNAME 家目錄 (Home Directory):
adduser sftpuser
由於我們在 sshd_config 設定檔中有宣告只要符合 sftponly 群組的使用者都套用 ChrootDirectory 的設定,因此必須將該使用者加入到 sftponly 群組中:
adduser sftpuser sftponly
另一個重點是,由於要套用 chroot() 的關係,該使用者登入後的根目錄必須擁有一些必要的目錄,為了節省設定上的麻煩,我們只要將該使用者的家目錄修改為根目錄 ( / ) 即可:
usermod -d / sftpuser

4. 修正使用者帳戶的家目錄權限
也是由於 chroot() 的特殊限制,這個要 chroot() 目錄的擁有者必須為 root,而且該目錄的權限也必須設定為 755 才行:
chown root.root /home/sftpuser
chmod 755 /home/sftpuser
這裡沒有設定正確的話將永遠無法成功登入,像我第一次設定時就遇到了以下錯誤: ( /var/log/auth.log )
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
由於該帳戶只需讓使用者上傳檔案,不允許使用者登入使用 shell,所以也建議將一些家目錄內的隱藏檔刪除,以免使用者透過 WinSCPFileZilla Client 登入時看到一些奇怪的檔案。



相關連結

在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提供