Ubuntu - XiZi's Blog

修改Ubuntu本地编码,让你的播放器正常显示标题

Ubuntu默认安装的环境为zh_CN.utf8或者en_US.utf8,然而很多windows的文档还是以GB2312或GBK编码保存的,当你打开Window文件的时候,总是有各种问题,出现各种诡异的乱码。因此十分有必要在Ubuntu下生成GBK或GB2312的locale。并设置默认本地编码:

1.  修改/var/lib/locales/supported.d/local文件,在文件中添加如下代码:

    zh_CN.GBK GBK

    en_US.GBK GBK

    zh_CN.GB2312 GB2312

    en_US.GB2312 GB2312

 

2.  sudo dpkg-reconfigure --force locales

          然后在输出的结果中会出现

          zh_CN.GB2312 done

          zh_CN.GBK done

    en_US.GBK done

    en_US.GB2312 done

3. 修改默认配置文件 /etc/default/locale

         修改默认LANG="en_US.UTF8"为

         LANG="en_US.GBK"

        或者

        LANG="zh_CN.GBK"

4.   重启Gmone

 

sudo /etc/init.d/gdm restart
# 如果没启动那么 Ctrl+Alt+F1 登录进入命令行模式
sudo /etc/init.d/gdm start

 

 

英文界面Ubuntu,修改界面默认雅黑字体

原文出处:英文界面下的Ubuntu设置默认的中文字体

新浪博客:配置Ubuntu9.04雅黑字体

  1。对于默认使用中文字体的问题:

    用Ubuntu 的英文界面的朋友,进入系统后字体是Bitmap, 在evolution中收中文邮件时,新邮件里的中文乱码。
一定是字体出了问题,检查后发现在切换到英文界面后/etc/fonts/conf.d/中29-language-selector-zh.conf、 69-language-selector-zh-cn.conf、99-language-selector-zh.conf这三个链接被删掉了。
在/etc/fonts/conf.d 里面加上3 个文件的链接:

cd /etc/fonts/conf.d/
sudo ln -s /etc/fonts/conf.avail/29-language-selector-zh.conf
sudo ln -s /etc/fonts/conf.avail/69-language-selector-zh-cn.conf  //好像只要这个就行
sudo ln -s /etc/fonts/conf.avail/99-language-selector-zh.conf 


重启看看中文变成了系统默认的雅黑。

2。添加字体

        Ubuntu 9.04 正式版的默认字体感觉太粗,有点模糊。改为文泉译字体,英文又不漂亮,于是将其替换成了微软雅黑字体 Yahei Consolas Hybrid ,该字体包含了Lucida Grande.ttf 和 Microsoft YaHei.ttf,前者是英文等宽字体,后者是中文字体,使用这个字体就不用考虑单独设置中英文字体了,可以做到界面、网页、终端字体统一风格。

  另外经常要共享Office文档,基本都是使用宋体,仅有雅黑还不够,所以不得不把XP下的simsun等字体也拷贝一份过来。(用着D版XP就考虑不了字体版权问题了)

  配置过程:

  1)、拷贝XP字体:

 

  sudo mkdir -p /usr/share/fonts/zh_CN/TrueType
sudo cp /media/win_c/WINDOWS/Fonts/simsun.ttc /usr/share/fonts/zh_CN/TrueType/
sudo cp /media/win_c/WINDOWS/Fonts/tahomabd.ttf /usr/share/fonts/zh_CN/TrueType/
sudo cp /media/win_c/WINDOWS/Fonts/tahoma.ttf /usr/share/fonts/zh_CN/TrueType/
sudo cp /media/win_c/WINDOWS/Fonts/verdanab.ttf /usr/share/fonts/zh_CN/TrueType/
sudo cp /media/win_c/WINDOWS/Fonts/verdanai.ttf /usr/share/fonts/zh_CN/TrueType/
sudo cp /media/win_c/WINDOWS/Fonts/verdana.ttf /usr/share/fonts/zh_CN/TrueType/
sudo cp /media/win_c/WINDOWS/Fonts/verdanaz.ttf /usr/share/fonts/zh_CN/TrueType/

 

 

  2)、下载雅黑字体

  http://rapidshare.com/files/34563809/YaHei.Consolas.1.11b.zip

  解压后,复制到 /usr/share/fonts/zh_CN/TrueType 目录,并重命名为YaHei_Consolas.ttf:

  sudo cp YaHei.Consolas.1.11b.ttf /usr/share/fonts/zh_CN/TrueType/YaHei_Consolas.ttf

  3)、生成字体目录列表等命令:

  

    sudo chmod 644 /usr/share/fonts/zh_CN/TrueType/*

cd /usr/share/fonts/zh_CN/TrueType/

sudo mkfontscale

sudo mkfontdir

sudo fc-cache /usr/share/fonts/zh_CN/TrueType/

 

  4)、修改配置文件

  sudo gedit /etc/fonts/conf.d/69-language-selector-zh-cn.conf

  找到 行,添加 YaHei Consolas Hybrid (这个是字体的名字,不是字体的文件名,双击字体文件可以查看字体名)共有三处,都要添加

  例如:

  YaHei Consolas Hybrid

  Bitstream Vera Sans Mono

  DejaVu Sans Mono

  WenQuanYi Zen Hei

  AR PL UMing CN

  AR PL ShanHeiSun Uni

  WenQuanYi Bitmap Song

  AR PL UKai CN

  AR PL ZenKai Uni

  5)、重启x-window

  正常的话,在没重启x-window时就应该能看到效果,可以查看一下各软件菜单、网页内容、虚拟终端的字体应该都有变化了。另外打开Word文档,宋体也可以显示正常。

 

 

 

ubuntu 9.04 server pptpd vpn server 配置

This is a bug in Ubuntu 9.04 with pptpd you have to disable the logs in
/etc/pptpd.conf put a quote on logwtmp.

# TAG: logwtmp
#       Use wtmp(5) to record client connections and disconnections.
#
# logwtmp  //加一个#注释掉这行
 

重启pptpd服务

sudo /etc/init.d/pptpd restart

再次连接应该正常了。

Setup a VPN server in Ubuntu 8.10 for iPhone

Why still Intrepid (Ubuntu 8.10) server? I just don’t have time to upgrade it. For a server, as long as it is secure and stable, no need for the cutting edge.

Why VPN? Check wiki. For me, I want to access some location sensitive files while I am on the iPhone via 3G network.

How? There is an excellent How-To in Chinese. I followed it and it works! This post is a summary of what I did.

For iPhone, three VPN protocols are supported: L2TP, PPTP and Cisco IPSec. I am going to install a pptpd on my Ubuntu server.

  1. Get the server installed.
    sudo apt-get install pptpd
  2. Edit /etc/pptpd.conf file to setup the IP address for connected clients. Enable localip and remoteip to something like
    localip 10.100.113.1
    remoteip 10.100.113.2-4
  3. Use /etc/resolv.conf to find the DNS of the system, and edit /etc/ppp/pptpd-options to enable ms-dns - something like
    ms-dns 128.218.254.10
    ms-dns 128.218.254.40
  4. Set the VPN account by editing /etc/ppp/chap-secrets. For an account test with password TSET that can connect from any where
    test pptpd TSET *
  5. Restart the server by executing
    sudo /etc/init.d/pptpd restart
  6. Enable forward for Internet connection. First, edit /etc/sysctl.conf file to enable
    net.ipv4.ip_forward=1

    and

    sudo sysctl -p

    Second, use iptables (install by apt-get) to setup a route

    sudo iptables -t nat -A POSTROUTING -s 10.100.113.0/24 -o eth0 -j MASQUERADE
  7. Setup VPN in the iPhone by General > Network > VPN > PPTP. Enable Auto encryption level. Keep RSA SecurID off.
    iphone-vpn-pptp
    It should work now.
  8. Automatically enable iptables after rebooting. First, save the working iptables by
    # iptables-save > /etc/iptables-rules

    Second, edit /etc/network/interfaces to something like

    # The primary network interface
    auto eth0
    iface eth0 inet dhcp
    pre-up iptables-restore < /etc/iptables-rules
    

 

 That is all I did and I don’t need to tweak other things as listed in the original post. I also tested on a windows xp machine, which works like a charm. Enjoy Ubuntu!

PS:

这里添加一下在Centos6.4遇到防火墙(iptables及iptables6)的问题解决方法:(Added at 2013.4.11)

 

iptables -F FORWARD #允许转发,默认是禁止的
iptables -t nat -A POSTROUTING -j MASQUERADE #全网段可NAT,不安全。
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE #部分网段NAT,安全考虑可以使用这个命令。
iptables -A INPUT -i tun* -j ACCEPT #允许Tun*接口的所有传入连接
/etc/init.d/iptables save

ok,就这样应该就可以了。

 

 

 

 

 

 

Ubuntu 配置 vsftp+mysql

1、安装vsftpd

sudo apt-get install vsftpd

 2、安装pam的mysql验证模块"pam_mysql.so"

sudo apt-get install libpam-mysql

3、配置vsftpd的PAM验证文件

vim /etc/pam.d/vsftpd

   Here is an example,注释掉原有的,添加最下面两行 

# Standard behaviour for ftpd(8).
# auth  required        pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

# Note: vsftpd handles anonymous logins on its own.  Do not enable
# pam_ftp.so.

# Standard blurb.
#@include common-session

#@include common-auth
#auth   required        pam_shells.so

auth required pam_mysql.so user=yoursqluser passwd= host=localhost db=vsftpd table=user usercolumn=name passwdcolumn=passwd crypt=0 sqllog=1 logtable=log logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logtimecolumn=time verbose=1
account required pam_mysql.so user=yoursqluser  passwd=p@ssw0rd  host=localhost db=vsftpd table=user  usercolumn=name passwdcolumn=passwd crypt=0 sqllog=1 logtable=log logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logtimecolumn=time verbose=1
p@ssw0rd

#红色部分请根据自己的实际情况修改

4、修改vsftpd的配置文件

vim vim /etc/vsftpd.conf

Here is an example,开启了ipv6的监听。 

#去掉了所有的注释行
# listen=YES 这里注释掉是因为此项与listen_ipv6只能选一项,开启ipv6后自动侦听ipv4
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
guest_enable=YES
guest_username=ftp
anon_world_readable_only=NO
virtual_use_local_privs=YES
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
 

 5、确定你对ftp目录的写权限

sudo chown -R ftp\: /home/ftp/

6、最后重启vsftpd服务,看看服务器好没好用?

sudo /etc/init.d/vsftpd restart

好了,可以看看你的服务器是不是好了?

root@www:/home# ftp localhost
Connected to localhost.
220 (vsFTPd 2.0.7)
Name (localhost:ado): admin
331 Please specify the password.
Password:       //这里输入密码但看不见
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r--    1 109      1001           76 May 07 02:07 2.txt
drwxr-xr-x    2 109      1001         4096 May 07 01:10 a directory
-rwxr-xr-x    1 109      1001         1482 May 07 02:07 bridge
drwxr-xr-x    3 109      1001         4096 May 07 02:07 icc32
-rwx------    1 109      1001     78771302 May 07 02:08 l_fc_p_10.1.015.tar.gz
-rw-r--r--    1 109      1001          323 May 07 01:36 ls.txt
226 Directory send OK.
ftp> mkdir test
257 "/test" created
ftp> rm test
250 Remove directory operation successful.
ftp>exit
root@www:/home#

 

 P.S.

   mysql 数据库的建立

#创建管理vsftpd用户的数据库和表,并插入测试帐号
#mysql -u root -p123456
CREATE DATABASE ftp;
USE ftp;
CREATE TABLE user(name CHAR(20) BINARY,passwd CHAR(20) BINARY);
INSERT INTO user (name,passwd) VALUES ('test1','12345');
INSERT INTO user (name,passwd) VALUES ('test2','54321');
GRANT SELECT on ftp.user to ftp@localhost identified BY '123456';
flush PRIVILEGES;
quit
 

 配置过程参考:菜鸟ubuntu8.04桌面版配置vsftp+mysql+pam 无法使用Ubuntu 8.04 Desktop上的vsftp+mysql+pam_mysql

 

Ubuntu 中管理服务

添加一个服务

sudo update-rc.d 服务名 defaults 99
 

 

删除一个服务

sudo update-rc.d 服务名 remove

 

临时重启一个服务

/etc/init.d/服务名 restart

 

临时关闭一个服务

/etc/init.d/服务名 stop

 

临时启动一个服务

/etc/init.d/服务名 start

Ubuntu也提供了另外一个简单的命令来实现管理。但首先服务必须已在/etc/init.d目录中存在。如:

添加一个服务: sudo update-rc.d ServiceName defaults

删除一个服务: sudo update-rc.d ServiceName remove

还可以安装另外一个比较强的工具: sudo apt-get install sysv-rc-conf sysvconfig

启动: sudo sysv-rc-conf 它可心配置各服务在各级别上的启动情况.

随时想启动某个服务, 可以这样: sudo /etc/init.d/ServiceName start

比如我要远程登录, 要用ssh服务: sudo /etcinit.d/ssh start (别的系统可能是sshd)

使用工具 sysv-rc-conf
  sudo apt-get install sysv-rc-conf
  sudo sysv-rc-conf
  用空格键开启或关闭,标记X的为开启,设置完按q退出

  下面简单介绍一下这几种运行等级:

  runlevel 1:为单用户模式保留,对应/etc/rc1.d目录中的脚本。该运行等级通常在恢复系统时使用。
  runlevel 2~5:应用于多用户模式,对应 /etc/rc2.d …… /etc/rc5.d目录中的脚本,通常可以自由定制。
  runlevel 0:关机进程,对应 /etc/rc0.d
  runlevel 6:重启进程,对应 /etc/rc6.d
  runlevel S:开机进程中最先的运行等级,对应 /etc/rcS.d中的脚本
 

装载:ubuntu下apache ssl 配制方法

 

基于的Ubuntu版本Edgy,在Ubuntu下面安装配置Apache都比较简单。相应的配置文件位置如下:
默认站点在 /var/www/

配置文件在 /etc/apache2/

日志在 /var/log/apache/

启动脚本是 /usr/sin/apache2ctl 或者 /etc/init.d/apache2


1、安装Apache

$sudo apt-get install apache2


2、开启SSL模块

$sudo a2enmod ssl


3、创建证书

可以使用apache内置的工具创建默认的证书,通过-days指定有效期。

$sudo apache2-ssl-certificate


另外我们可以使用openssl来创建

$sudo openssl req -x509 -newkey rsa:1024 -keyout apache.pem -out apache.pem -nodes -days 999

注:在要求输入Common Name (eg, YOUR name) 时,输入你的主机名。


4、编辑SSL的配置

我们可以将当前的默认站点配置文件拷贝一份,然后进行修改

#vi /etc/apache2/sites-enabled/001-ssl

把端口改为443

加入SSL认证配置

其它的根据需要自己定制 与普通配置无异 

ameVirtualHost *:443
ServerSignature On
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
ServerAdmin webmaster@localhost
#[......]
 
 

修改普通http方式的配置

#vi /etc/apache2/sites-enabled/000-default

把端口改为80 

ameVirtualHost *:80
ServerAdmin webmaster@localhost
#[......]

 

编辑Apache端口配置,加入443端口(SSL的)

>#vi /etc/apache2/ports.conf
Listen 80
Listen 443 

重新载入Apache的配置

$sudo /etc/init.d/apache2 force-reload

或者重新启动Apache2

$sudo /etc/init.d/apache2 restart

 

First: apache svn mysql 配置 on Ubuntu

 dav_svn.conf  的配置:

# dav_svn.conf - Example Subversion/Apache configuration
#
# For details and further options see the Apache user manual and
# the Subversion book.
#
# NOTE: for a setup with multiple vhosts, you will want to do this
# configuration in /etc/apache2/sites-available/*, not here.

# <Location URL> ... </Location>
# URL controls how the repository appears to the outside world.
# In this example clients access the repository as http://hostname/svn/
# Note, a literal /svn should NOT exist in your document root.
  Auth_MySQL_Info localhost mysqluser userpassword
  Auth_MySQL_General_DB svndbinmysql

<Location /svn>
  DAV svn
  SVNParentPath /home/.svn
  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /dev/null
  AuthBasicAuthoritative off
  AuthMYSQL on
  AuthMySQL_Authoritative on
  AuthMySQL_Password_Table user_info
  AuthMySQL_Group_Table user_info
  AuthMySQL_Empty_Passwords off
  AuthMySQL_Encryption_Types Plaintext
  Require valid-user
</Location>



 




Host by is-Programmer.com | Power by Chito 1.3.3 beta | © 2007 LinuxGem | Design by Matthew "Agent Spork" McGee