博客

  • 服务器架设:Debian/Ubuntu搭建LAMP教程

    本文是在独立服务器或VPS中使用Debian/Ubuntu操作系统搭建LAMP完整教程,适合初学者,本文会保持更新。

    第一部分

    LAMP 是Linux、Apache、MySQL、PHP的首字母缩写,也就是在一台Linux服务器上安装带有PHP和Mysql支持的Apache网站服务器。

    UAMP 是Ubuntu Linux、Apache、MySQL、PHP的首字母缩写,是指在一台Ubuntu Linux服务器上安装带有MySQL和PHP支持的Apache网站服务器。

    1. 说明

    本文以BurstNET VPS主机为例,操作系统是Debian 5 / Ubuntu 10.04,独立服务器操作方法与VPS相同。域名请做好DNS指向。

    安装前,用这个命令升级必要的软件包:

    apt-get install update

    2. 安装 Apache2 和 PHP5

    Apache2 和 PHP5已经包含在 Debian/Ubuntu 软件包中了,一般来说,系统已经默认安装完毕。如果没有,你可以使用下面的命令轻松安装它:

    apt-get install apache2 php5 libapache2-mod-php5 php5-gd php-pear php5-suhosin

    系统会提示已需要安装的版本并自动安装,如有更新,系统会显示需要更新的版本。

    安装 Apache 后,你可以启动:

    /etc/init.d/apache2 start

    重新启动Apache命令为:

    /etc/init.d/apache2 restart

    Apache 的配置文件位于: /etc/apache2/apache2.conf
    Apache 的默认web文件夹在: /var/www
    PHP的配置文件位于:/etc/php.ini

    3. 安装 MySQL5

    执行下面的命令来安装 MySQL:

    apt-get install mysql-server mysql-client php5-mysql

    然后启动 MySQL 服务器:

    /etc/init.d/mysql start

    安装完毕后我建议运行一下mysql_secure_installation来做一些基本的安全设置,它会检查root密码、移除anonymous帐号、禁止root远程登录、移除test数据库。

    运行下面的命令来为 root 用户设置一个密码(否则的话任何人都可以访问你的MySQL数据库!):

    mysqladmin -u root -p password 12345678

    Enter password: 输入root密码以确认修改,一般root初始密码为空(上面的12345678为你想要的密码)

    使用root帐号进入mysql:

    mysql -u root -p

    创建数据库:

    create database site1dbname;

    给新创建的数据库制定一个用户和密码:

    grant all on site1dbname.* to ‘site1dbuser’ identified by ‘site1dbpwd’;

    重新启动 MySQL:

    /etc/init.d/mysql restart

    mysql的配置文件位于:/etc/mysql/my.cnf

    好了,一个LAMP 服务器搭建完成。

    第二部分

    增加虚拟站点配置:

    vim /etc/apache2/sites-available/mysite

    添加内容如下:

    <VirtualHost *:80>
    ServerName www.mysite.com
    ServerAlias mysite.com www2.mysite.com
    DocumentRoot /var/www/mysite/
    </VirtualHost>

    激活这个虚拟站点:

    a2ensite mysite

    apache2重新加载配置:

    /etc/init.d/apache2 reload

    如果需要添加多个虚拟机,重复上述步骤即可。

    如果想启动rewrite,需要在终端运行:

    a2enmod rewrite

    然后重启Apache:

    /etc/init.d/apache2 restart

    实例:安装WordPress设置固定链接教程
    1.安装Wget

    apt-get install wget

    2.进入虚拟机所在目录

    cd /var/www

    3.下载WordPress到服务器并解压

    wget http://wordpress.org/latest.tar.gz
    tar zxvf latest.tar.gz

    4.修改WordPress目录属性

    chmod -R 777 /var/www/wordpress
    chgrp -R ftp /var/www/wordpress
    chown -R www /var/www/wordpress

    5.修改apache2的虚拟机配置文件(位于/etc/apache2/sites-enabled/),在<VirtualHost *:80>和</VirtualHost>中间加入下面代码

    <Directory “/var/www”>
    Options FollowSymLinks IncludesNOEXEC Indexes
    DirectoryIndex index.html index.htm index.php
    AllowOverride all
    Order Deny,Allow
    Allow from all
    </Directory>

    6.apache2重新加载配置:

    /etc/init.d/apache2 reload

    第三部分

    1.安装phpMyAdmin

    如果你觉得使用命令行管理MySQL很不方便,可以安装phpMyAdmin。

    phpMyAdmin是一个基于web的数据库管理软件,在apache下很容易安装和配置。

    你所需要做的就是:

    apt-get install phpmyadmin

    phpmyadmin配置文件在/etc/phpmyadmin目录。
    在apache下安装phpmyadmin,你仅需要在/etc/apache2/apache2.conf中加入以下这行:

    Include /etc/phpmyadmin/apache.conf

    现在重新启动 Apache:

    /etc/init.d/apache2 restart

    用浏览器打开:http://domain/phpmyadmin 输入用户名密码就可以管理MySQL数据库了。

    2.用vsftpd配置FTP服务

    一般用户都会选择用FTP上传的方式来管理自己的网站,所以需要配置FTP服务。

    安装vsftpd:

    apt-get install vsftpd

    安装好之后,编辑配置文件/etc/vsftpd.conf:

    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022

    以上每行解释如下:
    1.禁止匿名用户访问ftp
    2.允许本地用户访问ftp
    3.允许写操作
    4.上载文件的时候,使用的掩码是022

    重新启动 vsftpd:

    /etc/init.d/vsftpd restart

    设定FTP目录属性,如/var/www 目录属性:

    chmod -R 777 /var/www

    递归地给此目录下所有文件和子目录的读、写、执行权限

    chgrp -R ftp /var/www

    递归地把此目录及该目录下所有文件和子目录的组属性设置成ftp组

    增加FTP用户

    adduser 用户名

    设定用户密码

    passwd 用户名

    添加用户到指定组

    adduser 用户名 组名

    修改FTP用户的上传目录可以修改/etc/passwd

    安装配置完毕,重新启动 vsftpd即可:

    /etc/init.d/vsftpd restart

    常用参数意义,视具体情况配置:

    #anonymous_enable 是否允许匿名ftp,如否则选择NO,默认允许匿名访问,
    注意当允许是所有用户均视为匿名登录。
    #local_enable 是否允许本地用户访问,是指VSFTP所在机器上的注册用户。
    #local_umask=022 默认的umask码
    #write_enable 是否允许本地用户修改和删除
    #local_umask=022 FTP上传文件权限 ,默认是077
    #anon_upload_enable=YES 是否允许匿名用户上传
    #anon_mkdir_write_enable=YES 是否允许匿名用户的写和创建目录的权限
    #dirmessage_enable=YES 当切换目录时,是否显示该目录下message隐藏文件的内容
    #xferlog_enable=YES 是否激活上传和下载的日志
    #connect_from_port_20=YES 是否启动FTP数据端口20的连接请求
    #chown_uploads=YES 是否改变上传文件的所有者
    #chown_username=whoever 改变上传文件的所有着为whoever
    #xferlog_file=/var/log/vsftpd.log 上传/下载日志文件所默认的路径
    #xferlog_std_format=YES 是否使用标准的ftpd xferlog日志格式
    #idle_session_timeout=600 是否将在用户会话空闲10分钟后被中断
    #data_connection_timeout=120 是否将在数据连接空闲2分钟后被中断
    #nopriv_user=ftpsecure 是否运行vsftpd需要的非特殊系统用户默认nobody
    #async_abor_enable=YES 是否是否允许运行特殊的FTP命令async
    #ascii_upload_enable=YES 是否启用上传的ascii传输方式
    #ascii_download_enable=YES 是否启用下载的ascii传输方式
    #ftpd_banner=Welcome to blah FTP service. 用户连接服务器后显示信息
    #deny_email_enable=YES 是否允许某些匿名用户使用邮件地址(默认的)
    chroot_local_user=NO
    chroot_list_enable=YES

    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的官方网站查看:

    http://vsftpd.beasts.org/vsftpd_conf.html

  • 现在主题存在的问题(持续更新)

    1.每篇文章的标题没有明显标志,不容易区分哪一段是一篇文章的开始
    2.为了精简CSS文章内容页面 <h1>…<h6>没有仔细定义,H1 有时候比标题还要大(—_—! 为了性能牺牲了功能,不值得啊)
    3.代码引用 样式实在有点难看。
    目前就这么多~~~2011.1.24

  • Linux VPS一键安装包集合再次更新

    感谢无名的投递
    无名博客再次收集更新了一些Linux VPS下的一键安装包,一键安装包可以大大简化人工成本,节约时间,不仅方便了使用Linux VPS的小白,对于Linux老手来讲编译安装需要输入大量的命令,如果是配置生产环境需要耗费大量的时间。这些一键安装包使用非常简单,傻瓜化的安装方 式,采用Shell编写,容易修改。这次添加了cnBeta网友留言里的一键安装包。

    Web套装一键安装包
    LNMP一键安装包
    LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat、Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)生产环境的Shell程序。
    适用系统:CentOS/Debian/Ubuntu
    安装方法:猛击这里

    LNAMP一键安装包
    LNAMP 是指由 Linux(CentOS),Nginx,Apache,Mysql,Php 为主,其他诸如Pure-ftpd,Jailkit为辅的一套生产环境安装包.所有操作均集成在一个Linux Shell脚本文件中,管理员可方便的进行安装,卸载,增设用户虚拟主机(子域),删除用户虚拟主机(子域)等操作.最大限度方便系统管理员,同时不会影 响后续其他软件的安装兼容(有限)。
    适用系统:Linux CentOS 5 (32bit/64bit)
    安装方法:猛击这里
    (更多…)

  • 由促销邮件说起

    年关临近,不可避免的收到无数的促销邮件,京东、新蛋、当当、凡客……等等,有的没得都会每周给你发几封。

    然后问题就来了,我大部分时间肯定是在公司上班,而有很多公司的网络是直接屏蔽掉这个电子商城的,所以你懂了吧:有很多促销邮件发过来之后都是红叉叉,比如凡客、比如京东。

    到了这个时候就体现出网站的专业性和人性化了,目前为止我这里只能打开新蛋的促销邮件,话说人家新蛋在邮件中的图片全部都是来自newegg.dmdelivery.com这个网站的。dmdelivery.com这个网站是专门做邮件营销的网站,客户涉及范围非常广:比如WOW、比如THE9,比如nikon……等等。

  • WordPress中is_single()与is_singular()的区别

    简单的认为is_sigular()相当于is_single()||is_page()||is_attachment()没有什么大问题。
    也就是说,有is_single()||is_page()

    <!–?php if ( is_single()||is_page() ) { ?–>

    的地方,都可以替换成is_singular()

    <!–?php if ( is_singular() ) { ?–>

    但是其实上述这种理解不是太准确。来比较一下is_single()与is_sigular()的文档。
    is_single()是可以加参数的。参数可以是post_id,post_slug,post_title。2.5之后还可以同时对这几个参数加以判断。
    当不带参数时,返回的是当前显示的是不是一个单独的post(而且类型不是page和attachment)。
    而带了参数,返回的就是当前显示的是不是编号/标题/标志为“XXX”的那篇post。
    在数据库里,is_single不仅要查询ID是否存在,还要保证type是“post”而不是“page”,“attachment”甚至“revision”。

    is_sigular()则简单的多。就是当前显示的是不是一条单独的post所形成的页面。
    在数据库里,is_sigular()也只是判断ID是否存在即可。

  • wordpress自带的缩略图功能全解析

    上篇(优化缩略图组件timthumb.php)说了外置缩略图组件timthumb.php的优化。接下来说一说如何利用wordpress2.9版本以上自带的缩略图功能:

    1.添加功能

    在function.php中插入代码

    add_theme_support( ‘post-thumbnails’ );

    或者你也可以增加个函数判断缩略图功能是否存在:
    if ( function_exists( 'add_theme_support' ) )
    add_theme_support( 'post-thumbnails' );
    (更多…)

  • 优化缩略图组件timthumb.php

    以前提到过timThumb:PHP图片压缩裁剪程序。一直使用很愉快,但是近来服务器吃紧,不得不优化方方面面的程序节省资源。

    由此便找到了timthumb.php生成缩略图的组件。

    开启cache

    TimThumb是有cache功能的,如果你的图片没有cached,请查看timthumb.php文件第45行左右

    check_cache....

    移除前面的#或//符号,这将使服务器响应时间加快5倍(100ms降低到20ms)。

    修改cache目录

    最好将cache目录设为网站上传目录(upload目录)(有人如此建议)。第35行:

    $cache_dir = ‘./cache’;

    计算timthumb.php文件所在目录深度,.将cache_dir设为../… /uploads/

    设置最大压缩比

    PNG图片的最后一个参数不是质量级别而是压缩级别。我们可以单独修改这个参数达到最大压缩比。

    找到timthumb.php文件第174行左右

    $quality = floor($quality * 0.09);

    在下面添加:

    $quality = 9;

    加快图片的载入速度

    你可以把以下规则添加进你的.htaccess文件中,可加速图片载入速度:

    RewriteEngine on

    RewriteRule .* – [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]

    RewriteRule .* – [E=HTTP_IF_NONE_MATCH:%{HTTP:If-None-Match}]

    设置客户端缓存

    将第317行左右的最大有效期设为:

    header(“Cache-Control: max-age=315360000,public”);

    下两行左右位置,设为:

    header(“Expires: ” . gmdate(“D, d M Y H:i:s”, time() + 315360000) . “GMT”);

    设置静态地址

    将图片的动态地址改为静态地址也会加快服务器的响应速度。

    最终测试优化效果没有上面说的那么夸张,不过也还可以,毕竟麻雀虽小也是肉啊。

    转自:http://www.xixis.net/archives/optimization-timthumb-php.html

  • Godaddy 通用优惠码数个

    1.Godaddy主机优惠码(通用)

    优惠券: cjchost20
    购买所有主机产品优惠20%.  (独立主机例外)
    有效期至: 2008年9月20号

    优惠券: cjcophst20
    购买Unlimited Hosting 方案特殊优惠码<1年方案 $9.99/月, 2-年方案$6.29/月,3年方案$4.79/月>

    优惠券: cjcshare20
    购买所有主机产品优惠20%.  (仅虚拟主机适用)
    有效期: 无限制

    优惠券:cjcbusb03
    购买所有商业解决方案和主机节省20%
    有效期:已失效

    优惠券:cjc20off75
    购买75美元及以上可以优惠20美元
    有效期至: 2008年9月20号

    优惠券:cjc20hun
    购买100美元及以上可以优惠20美元
    有效期: 无限制

    优惠码: cjctenoff
    购买50美元及以上商品使用此优惠码可以优惠10美元
    有效期:无限制

    优惠码: cjcsave
    购买30美元及以上商品使用此优惠码可以优惠 5 美元
    有效期:无限制

    优惠码:cjcdeal
    购买75美元以上优惠15%

    优惠码:cjcdollar
    优惠一美元,域名续费和org域名注册除外。

    优惠码: cjcfat75
    消费75美金或以上者,优惠15%。

    优惠码:cjc4Udom
    COM域名注册 $7.49

    优惠码: cjc4U75
    消费75美金或以上者,优惠15%。

    优惠码: cjcfat50
    消费50美金或以上者,优惠$10。

    优惠码: cjcrebone
    消费主机优惠$1。

    优惠码: cjcbrde20h
    消费共享主机,优惠20%。

    优惠码: cjccab10
    消费优惠10%。

    2.Godaddy域名注册优惠码

    优惠码: cjc695dom cjc749dom cjc749chp
    说明: $7.49 .COM 注册
    有效期: N/A

    优惠码: cjctld749
    说明: $7.49 .NET 注册
    有效期: N/A

    优惠码: cjctld749
    说明: $7.49 .ORG 注册
    有效期: N/A

    优惠码: cjcUS349
    说明: $3.49 .US 注册
    有效期: N/A

    Godaddy免费隐私保护优惠码:cjcPRIVATE
    说明:注册域名可以获得免费的隐私保护,因为多个优惠码不能通用,只能用原价注册才行。
    有效期:已经失效

    3. SSL证书12.99美元每年优惠地址,点击下面的链接进入查看

    购买ssl优惠地址

    4.Godaddy VPS 独立主机优惠码。购买地址:Godaddy.com

    cjcvps20 购买VPS优惠20%
    cjcded20 购买独立主机优惠20%

    5.Godaddy SSL购买优惠码
    cjcssl12t2 节省50% 在ssl购买时

    点击查看购买Godaddy产品及使用coupon的诀窍,最高节省50美元

  • 告别2010

    本不想写什么总结,但是常言说得好,好记性不如烂笔头,那就姑且总结一小下,一来为了以后有个念想,二来也免得一直浑浑噩噩的过下去。