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 的方法

在使用 WinSCP 或 FileZilla 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,所以也建議將一些家目錄內的隱藏檔刪除,以免使用者透過 WinSCP 或 FileZilla 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提供