apt-get 的几个命令

apt-get 就是从网上下载包,并安装到本地

手工下载 dpkg 包,而后 ”dpkg -i 包名“ 也可以

但找包,检查dependency 太辛苦,这就是 apt-get 帮助做的事情

从哪里下载, 官方url

在/etc/apt/sources.list中,可以看看

开头 deb  代表编译好的包, des-src代表源代码

distribution 代表发行版本

update 三个命令的区别

apt-get update 更新软件列表。
apt-get upgrade 更新软件。
apt-get dist-upgrade 更新系统版本。

查询可安装的 package 

很多时候忘记了package 的名字

用 apt-cache search <包名>  查询就是了,其原理应该是到 package  的index文件中去做正则匹配

查询已经安装的package 

使用 dpkg -S 命令

 

配置Apache/2.2.16 (Debian) 支持 .htaccess

配置apache2.2 伪静态

第一步:修改sites-available中对应的网站配置文件(以默认配置文件default为例)
nano nano /etc/apache2/sites-available/default

找到以下语句

AllowOverride None

修改为

Options FollowSymLinks
AllowOverride All

第二步:载入rewrite.load(默认装好后apache是没有建立文件连接的)
#cd /etc/apache2/mods-enabled
#ln -s ../mods-available/rewrite.load rewrite.load

第三步:重启apache
/etc/init.d/apache2 restart

Debian6(Squeeze)使用 apt-get 安装apache+MySQL+PHP服务器环境(备忘)

更新源/etc/apt/sources.list:

deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all

增加源,支持php5-fpm
然后获取GnuPG 密钥
wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | apt-key add –

更新:

#apt-get update
#apt-get upgrade
#apt-get dist-upgrade

如果之前安装过apache, mysql, php,要先删除掉:

#apt-get remove –purge apache2.2-common apache2
#apt-get remove mysql

1. 先安装apache2

#apt-get install apache2.2-common apache2

#apache2ctl start //启动apache2

2. 安装php5

# apt-get update
# apt-get install libapache2-mod-php5

//实际上第二步会自动安装另外两个包: apache2-mpm-prefork libapache2-mod-php5

3. 安装mysql5
#apt-get install mysql-server mysql-client

#apt-get install mysql-server-5.1
#apt-get install mysql //client, optional
安装过程中会提示为root用户设置密码,如果没有设置,安装完后也可以:

#/usr/bin/mysqladmin -u root password ‘mima’

4. 安装php5 mysql extensions

#apt-get install php5-mysql

安装插件
#apt-get install imageMagick
#apt-get install php5-curl
#apt-get install sendmail-bin && apt-get install sendmail
5. 接下来安装一个phpMyAdmin

#apt-get install phpmyadmin
安装过程中,会提示你用哪一个web server作为其服务器,选apache2即可。并且设置phpmyadmin管理员名称admin
及密码。安装完后会提示重启apache2。

/etc/init.d/apache2 restart

其实一个命令可以搞定:

apt-get install apache2 php5 mysql-server phpmyadmin

配置:
nano /etc/apache2/site-available/test
cd /etc/apache2/site-enabled
ln -s ln -s ../sites-available/test test

Debian6(Squeeze)使用 apt-get 安装Nginx+MySQL+PHP服务器环境(备忘)

#cat /proc/version
Linux version 2.6.32-5-amd64 (Debian 2.6.32-39) (houyi-dev@aliyun-inc.com) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Sun Jan 1 04:57:38 CST 2012

#uname -a
Linux AY***cb 2.6.32-5-amd64 #1 SMP Sun Jan 1 04:57:38 CST 2012 x86_64 GNU/Linux

# apt-get update

# apt-get dist-upgrade

Debian官方的源一般都以稳定为主,所以里面的软件版本也相对比较低,Dotdeb的源更新速度比较快,而且里面的软件包都是最新稳定版的,所以我使用Debian一般都喜欢加入Dotdeb的源,安装最新的稳定版软件。

根据你使用的Debian的发行版本(Debian 5.0 “Lenny”/oldstable 或 Debian 6.0 “Squeeze”/stable),在/etc/apt/sources.list文件中加入两行(选择最近的镜像站):
Squeeze :
deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all
Lenny :
deb http://packages.dotdeb.org oldstable all
deb-src http://packages.dotdeb.org oldstable all

增加源,支持php5-fpm
然后获取GnuPG 密钥
wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | apt-key add –

rm dotdeb.gpg

# apt-get update

# apt-get dist-upgrade

2:安装 MySQL 5

apt-get install mysql-server mysql-client

在弹出的页面输入2次密码

修改mysql配置文件,去掉innodb,这样可以节省不少内存
vi /etc/mysql/my.cnf

增加下面语句
skip-innodb

保存后,mysql重启一下就生效

3:安装Nginx+php+php5-fpm+memcache

apt-get install php5-cgi php5-mysql php5-gd php5-imagick php5-mcrypt php5-memcache memcached php5-fpm php5-cli nginx

apt-get install php5-cgi php5-mysql php5-curl php5-gd php5-imagick php5-mcrypt php5-mhash libmcrypt* libmcrypt-dev php5-memcache memcached php5-fpm php5-cli php5-xmlrpc nginx

apt-get install php5-cgi php5-mysql php5-curl php5-imagick php5-mcrypt php5-mhash libmcrypt* libmcrypt-dev php5-fpm php5-cli php5-xmlrpc nginx

安装成功后

mkdir /var/www
chown www-data:www-data /var/www

修改memcache的端口和内存大小
vi /etc/memcached.conf

vi /etc/php5/cgi/php.ini
修改下面这句
cgi.fix_pathinfo=1

我的是512M的vps,所以修改php-fpm的配置文件
vi /etc/php5/fpm/pool.d/www.conf

pm.max_children = 25
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 10
pm.max_requests = 500

大家也可以根据自己服务器的条件和实际负载需要进行调整

修改nginx的配置文件

vi /etc/nginx/sites-available/default

添加:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include fastcgi_params;
}

保存后,重启nginx
/etc/init.d/nginx restart

写一个测试php页面

如果能正常显示那页面,那就大功告成

如果你想手工编译nginx+php+fpm,请参考我的另外一篇指导文章
VPS 安装Nginx+MySQL+PHP 5.2.17(FastCGI)服务器环境(Debian6)备忘

常用组合,查看出正在连接和网络信息
netstat -ntulpa

phpwind9 RC ,安装云应用,提示“No data”解决办法

PW9 RC版,安装云应用,提示“No data”

PW9 RC版,安装云应用,提示“No data”
在论坛问了几天了,终于没有找到解决办法,进入就各种办法试了个遍。。终于解决

直接说我的解决办法:

1、使用服务检测,看下各项数据都是否正常。
pw9 云服务检测

看到了标红的地方,,终于感觉发现了点问题。。

2、于是根据提示在debian 6 Linux下为PHP5安装cURL

1)更新安装源: apt-get update (不更新的话可能会因为找不到安装源安装失败喔)

2)可以先查查curl的PHP支持的名字:apt-cache search curl | grep php
返回的内容如:php5-curl – CURL module for php5

3)直接安装:sudo apt-get install php5-curl

4)重启apache sudo /etc/init.d/apache2 restart

3、问题解决

根据PW论坛提示,出现这种问题还可以检查其他问题是否存在:
1、data目录权限是否为777(经测试不是777也没有关系,根据服务器配置不同)
2、有人说缺少文件也可能出现这问题,建议用源文件重新覆盖试试(我的不是这的问题,所以没再确定这个办法是否有关系)

Debian Linux 使用Vsftpd安装配置架设FTP服务器

首先Vsftpd就不用介绍了。

Vsftpd的安装:
aptitude update //更新数据源列表
aptitude install vsftpd //安装vsftpd

Vsftpd的文件结构:
/usr/sbin/vsftpd —- VSFTPD的主程序
  /etc/init.d/vsftpd —- 启动脚本
  /etc/vsftpd.conf —- 主配置文件
  /etc/pam.d/vsftpd —- PAM认证文件
  /etc/ftpusers —-记录不允许访问FTP服务器的用户名单
  /home/ftp —-Vsftpd的根目录
  此外VSFTPD的日志文件为/var/log/vsftpd.log。
Vsftpd的管理控制。
  /etc/init.d/vsftpd start //启动vsftpd
  /etc/init.d/vsftpd stop //停止vsftpd
  /etc/init.d/vsftpd restart //重新启动vsftpd
  /etc/init.d/vsftpd reload //重新导入vsftpd
Vsftpd的配置文件。
  Vsftp的配置文件默认情况下就已经比较安全,一般不需要修改,下面对常用的几个配置选项进行说明:
  Listen=yes 是否以独立进程启动  
  anonymous_enable=YES 是否允许匿名ftp,如否则选择NO
  local_enable=YES 是否允许本地用户登录
  anon _enable=YES 是否允许匿名ftp用户访问
  anon_upload_enable=YES 是否允许匿名上传文件
  anon_mkdir_write_enable=YES 是否允许匿名用户有创建目录的权利
  dirmessage_enable=YES 是否显示目录说明文件,默认是YES但需要收工创建.message文件
  xferlog_enable=YES 是否记录ftp传输过程
  xferlog_file=/var/log/vsftpd.log 设置日志文件的路径
  connect_from_port_20=YES 是否确信端口传输来自20(ftp-data)
  idle_session_timeout=600 设置默认的断开不活跃session的时间
  data_connection_timeout=120 设置数据传输超时时间
  max_clients=Number 如果以standalone模式起动,那么只有$Number个用户可以连接,其他的用户将得到错误信息,默认是0不限止
  anon_max_rate 匿名最大传输速度,0为无限制
  local_max_rate 本地用户最大传输速度,0为无限制
  max_clients 最多客户端连接,0为无限制
  max_per_ip 一个ip的最大连接数,0为无限制
  更多的配置内容请访问vsftpd的官方网站查看:
  http://vsftpd.beasts.org/vsftpd_conf.html

配置本地组访问FTP
首先创建用户组clin003和FTP的目录
groupadd clin003-com (组名是随便取的,只是便于管理以后可以随时cat /etc/group |grep clin003-com)
mkdir /tmp/clin003 (我直接给用户分配管理/var/www文件,用来管理apache的web目录)
然后创建用户
useradd -G clin003-com -d /tmp/clin003 -M user1
注:G:用户所在的组 d:指定创建用户的自己目录 M:不建立默认的自家目录,就是在/home下没有自己的目录

我只是为了给自己的web server做文件传输服务,所以做了一个帐户.
useradd -G ftp -d /var/www -M clin003-admin

接着改变文件夹属于的组和用户
chown clin003-admin.clin003-com /var/www 把/var/www改变属主为clin003-admin
chmod 711 /var/www
我这设置的读取权限是711.也就是文件夹所有者完全权限,同组也就是上面的FTP组和所有人都是可执行权限.

Vsftpd添加FTP账号
A. 登录Linux主机后,运行命令:”useradd ftp-clin003 -s /sbin/nologin “。该账户路径默认指向/home/ftp-clin003目录;如果需要将用户指向其他目录,请运行命令:useradd ftp-clin003 -s /sbin/nologin –d /www(其他目录)

B. 设置ftp-clin003用户密码,运行命令:”passwd ftp-clin003” ; 输入两次密码,匹配成功后,就设置好了ftp-clin003用户的密码了。

C.测试连接,您可以在“我的电脑”地址栏中输入 ftp://IP 来连接FTP服务器,根据提示输入账户密码。

umask=022
umask=022中”022″是八进制的写法,如果换成二进制是000010010

在unix中文件权限是三类用户,三种权限。三类用户分别是文件所有者user(u),文件所有者所在主群组group(g)、其它用户others(o),三种权限分别是起读read(r)、写write(w)、执行execute(x)。

如果一个文件的权限如下:所有者有读写的权限,群组有读和执行权限、其它用户有读权限,可以写成:
rw-r-xr–
其中前三位指明了所有者的权限、中间三位指明了组权限、最后三位指明了其它用户的权限。我们用ls -l可以看到文件权限详情,列出来的是10位,最前一位如果是d表示是子目录。
说回来,如果把这上面9位字母换成二进制数则是:
110101100
如果换成八进制是多少?

因此文件权限可以用9位二进制数表示。umask在英文中是屏蔽的意思,那么
umask=022
指屏蔽文件的022权限,到底屏蔽了什么?将这个八进制数用二进制表示
000010010
换算成字母是
—-w–w-
指取消组的写权限、取消其它用户的写权限。
屏蔽这些权限后,剩下什么权限呢?用字母表示是:
rwxr-xr-x
用二进制数表示是:
111101101
你可以对比一下
000010010
可以知道屏蔽前后的换算关系。

在vsftpd的配置文件中,umask=022表示了上权后的文件被屏蔽的权限,另一句话说,就是上传的文件所具有的权限。