分类目录归档:Linux

Linux

linux(CentOS5.5)服务器无法通过sendmail发送邮件解决方法

      博客搬家完成后,修复了若干小问题,今天貌似发现博客不能发送邮件了,博客有三处地方用到了邮件发送功能,第一个就是留言评论,有新的留言会发送邮件到我的邮箱上,我第一时间知道,第二个就是用户的留言,如果有人回复后,会发送留言评论回复邮件至留言访客的邮箱上,提醒用户你的留言有新的回复,还有一个就是定时发送sql备份数据到我的邮箱上。我想这几个小功能用wordpress搭建博客的用户都会用得上。

      VPS配置的是 CentOS5.5 + LNMP环境,这个环境还是挺高效的,但配置好环境后发现还忘了安装sendmail,Sendmail是目前使用最为广泛的一种E-mail服务器。linux下发送邮件需要sendmail支持,安装sendmail也很简单。

      用SSH登录后,输入以下命令:

1
yum install sendmail

      得到的回复是“Nothing to do”,也就是说,sendmail组件已经成功安装,不需要再安装了,如果没有安装他会下载安装好。

      如果是刚安装的,未必已经启动,可以通过以下命令重新启动一下:

1
/etc/init.d/sendmail restart

      执行完这两段命令后,sendmail已经安装启动了,博客也恢复了正常的邮件发送功能,如果你执行到这一步还不行的话,那就得再google一下了,找找其他方法。

Linux下MySql出现#1036 – Table ‘ ‘ is read only 错误解决方法

      前几天网站备案被注销了,只有暂时迁移到国外再做打算,换了两台VPS,第一台用服务商配置好的环境+Kloxo管理平台,可能内存少点,或者我哪里没有设置好,导致用不到几个小时就访问不了,又得重启VPS才行,所以前两天会出现偶尔访问不了博客的情况。

      今天刚把第二台VPS的环境配置好,网站迁移过来,在美国洛杉矶机房。现在这台的vps内存稍大点,应该可以确保平稳运行了,速度也勉强可以。

      这次博客搬家出现了点小情况,不过还是顺利解决了。

      这次网站搬家采用直接打包mysql数据库和网页文件的形式进行迁移,上传好mysql data目录里面的网站数据库至VPS上mysql存放数据库的目录里面,解压就行。我的VPS存放数据库的路径是 /usr/local/mysql/var。

      上传好网站数据,解压,配置好数据库链接参数就行,网站就能正常连接上了,我本以为这已经是顺利迁移完成了,但后来操作的时候,发现只能读取数据库的内容,不能更改写入任何信息,提示#1036 – Table ‘* ‘ is read only (*号为任意表),也就是说表只有只读属性。

      通过SSH,给数据库文件777权限,dedeadmin是我的数据库文件夹

1
chmod -R 0777 /usr/local/mysql/var/dedeadmin/

      给数据库目录的所属用户和组改为MySQL

1
chown -R mysql:mysql dedeadmin

      但是这样还不能更改数据库,首先,找到mysqladmin所在位置,一般都在mysql/bin下面,我的在/usr/local/mysql/bin 里面,还需要运行以下命令:

1
./mysqladmin -u root -p flush-tables

      之后输入root账号的密码,马上就好了,没有任何任何提示,然后测试一下,能正常读写,搬家也就顺利完成。

VPS轻松控制,Xen-Shell使用教程

      在国外的VPS用的是Xen-Shell进行控制,还是挺方便的,转篇教程日后备用。

      什么是Xen-shell?

      Xen shell 是Xen虚拟机的一部分,它是Xen的一个外部的虚拟操作平台,能够更好的帮助你管理你的虚拟机。当你的虚拟机出现问题无法登陆时,我们可以通过它来执行启动,暂停,停止,重启等命令。如果你还不明白,在参考了我们的教程后,你就明白那有多简单了。

      1、登录Xen-shell:

      注:此处填写的非VPS的IP,而是VPS所在服务器的IP,这个可以联系你的VPS提供商的客服。

      2、通过SSH登录之后,界面如下:

      3、输入help命令,可以列出XEN-SHELL的全部功能。

      4、Xen-Shell命令详解:

      boot:启动VPS。此命令仅在系统处于关闭状态时有效。
      console:连接到VPS控制台,相当于登录到VPS上的系统。按下“ctrl + ]”可以退出VPS控制台并返回到Xen-Shell。
      exit:退出Xen-Shell。
      help:显示帮助。可以用命令名称做为help的参数,显示此命令的详细使用方法。如果不附带任何参数,刚列出所有命令以及简单的说明。
      passwd:修改登录到Xen-Shell所使用的密码。
      pause:停止VPS。注意停止并不是关闭,停止后可以使用unpause使VPS立即处于运行状态,而不需要启动过程。
      quit:同exit,退出Xen-Shell。
      reboot:重新启动VPS。
      serial:同console ,连接到VPS控制台。
      shutdown:关闭VPS。
      status:显示VPS的当前状态。
      sysreq:向VPS发送sysreq命令。
      top:显示服务器当前资源的使用情况。因为会显示其他的客户信息,我们已经屏蔽此命令。
      unpause:启动VPS。此命令仅当VPS处于pause状态时有效。
      uptime:显示母服务器系统以及VPS系统的uptime(已经运行的时间)。
      version:显示Xen-Shell的版本。
      whoami:当前登录到Xen-Shell所使用的帐号。

      5、退出Xen-shell

      如果你输入console登录了你的主机,在你退出你的主机后,请务必按Ctrl+] 退出到控制台,然后再输入quit退出Xen-shell,以确保信息安全。

Linux+Apache+PHP+MySQL服务器环境(CentOS篇)

1.前言
CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。CentOS是架构LAMP(Linux+Apache+PHP+MySQL)的理想操作系统,具有较高的稳定性。本文以CentOS为例介绍linux系统下yum安装Apache+PHP+MySQL的方法。织梦管理员之家论坛用的就是CentOS操作系统搭建的,不过没用到apache,用的是lighttpd。

2.准备工作
2.1.登录服务器
登录远程服务器,如果您的服务器在本地并安装有桌面环境,也可以直接打开服务器桌面,进入终端管理器。
在windows下Putty是一款出色的liunx远程登录工具,打开界面如下
 


 
在图中黄色框中填入服务器ip,点击打开,之后提示输入用户名和密码,验证成功后完成登录服务器。

2.2.配置源和更新系统软件
2.2.1.定义非官方yum库

官方提供的软件是当前的稳定版本,但不是最新版本,为了更好的运行dedecms,我们需要一些非官方的yum源。
 
rpm –import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
vi /etc/yum.repos.d/utterramblings.repo
 
添加以下内容
[utterramblings]
name=Jason’s Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
 
[注]vim编辑器修改文件的方法请自行百度之

 2.2.2.更新系统
yum update
yum upgrade

 2.2.3.检查系统软件
检查当前系统是否已经安装了apache 和 mysql
 
yum list installed | grep httpd
rpm -qa | grep httpd
 
yum list installed | grep mysql
rpm -qa | grep mysql
 
如果已经存在,请先卸载

 2.3.创建目录
在这里我们约定各数据存放目录如下
 
网站数据   /www/htdocs
日志目录   /www/log
数据库文件 /www/mysql
 
运行以下命令完成目录创建
 
mkdir /www/mysql
mkdir /www/htdocs
mkdir /www/log/php
mkdir /www/log/mysql
 
添加apache和mysql用户
useradd -s /sbin/nologin -M apache
useradd -s /sbin/nologin -M mysql
 
创建了目录之后还需要改变目录属主和用户组,apache和mysql才能完成读写操作
chown -R apache:apache /www/htdocs
chown -R mysql:mysql /www/mysql
chown -R apache:apache /www/log/php
chown -R mysql:mysql /www/log/mysql

3.安装与配置
3.1. yum 安装 Apache + PHP + MySQL

 
yum -y install gcc gcc-c++ autoconf make aclocal libtool expat-devel libxml2-devel httpd php php-devel mysql mysql-server mysql-devel libevent libevent-devel mageMagick ImageMagick-devel php-mysql mod_ssl mod_perl mod_auth_mysql php-mcrypt php-gd php-xml php-mcrypt php-mbstring php-ldap php-pear php-xmlrpc php-pecl-memcache mysql-connector-odbc libdbi-dbd-mysql php-eaccelerator
 3.2.配置php
vi /etc/php.ini
 
请根据自己的情况修改,这里只列出部分需要注意的设置
post_max_size = 32M
memory_limit = 256M
allow_url_fopen = On
upload_max_filesize = 32M
upload_tmp_dir = /var/tmp
log_errors = On
error_reporting = E_ALL & ~E_NOTICE | E_STRICT
display_errors = Off
error_log = /www/log/php/php_error.log
magic_quotes_gpc = On

3.3. 配置apache
先给默认配置文件做个备份
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
编辑配置
vi /etc/httpd/conf/httpd.conf
 
根据自己的需要进行修改
DocumentRoot “/www/htdocs”  # 修改为默认网站主目录
NameVirtualHost *:80
 
如果安装GBK版本dedecms出现乱码,可能需要注释掉这个参数
#AddDefaultCharset UTF-8
 
启动apache服务
service httpd start
 
检查apache是否正常,打开浏览器,输入http://您的ip,如果看到默认apache test page页面,即表示成功启动。
 
3.4.配置mysql
 
系统已经自动安装好了mysql,但我们需要做些简单的修改和优化,配置数据库文件和日志存放位置,才能启动。
在 /usr/share/mysql/目录下有多个my-开头的cnf文件,我们可以针对我们自己的情况选择一个使用,我们这里选择my-medium.cnf
 
把它复制到/etc目录里
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
编辑
vi /etc/my.cnf
修改以下配置,在原有的基础上修改,没有的选项就添加
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set = utf8
[mysqld]
user = mysql
datadir = /www/mysql
log-error = /www/log/mysql/mysql_error.log
log-bin=/www/log/mysql/mysql-bin
expire_logs_days=7
character-set-server = utf8
–skip-external-locking
 
启动mysql
service mysqld start
系统会自动安装初始数据库,然后启动,如果有错误,请查看/www/log/mysql/mysql_error.log里的错误信息
 
设置mysql root用户密码
mysql
UPDATE mysql.user SET password = PASSWORD(‘你的密码’) WHERE user = ‘root';
FLUSH PRIVILEGES;
exit;

4.优化设置
4.1.安全设置,禁用 PHP 的敏感函数

vi /etc/php.ini
取消disable_functions前的#,改为
disable_functions = exec,shell_exec,system,popen,escapeshellcmd,escapeshellarg,gzuncompress,proc_open,proc_get_status,show_source,gzinflate

 4.2.开启gzip压缩
gzip压缩可以减少服务器流量,但也会增加cpu资源消耗,是否要开启你需要根据情况决定
 
vi /etc/httpd/conf/httpd.conf
 
LoadModule deflate_module modules/mod_deflate.so
<IfModule mod_deflate.c>
DeflateCompressionLevel 6
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
AddOutputFilter DEFLATE js css
</IfModule>

 5.建立网站
创建网站目录
mkdir /www/htdocs/demo
更改以下网站目录的属主和属组
chown -R apache:apache /www/htdocs/demo
 
配置虚拟主机配置
vi /etc/httpd/conf/httpd.conf
在最后添加
<VirtualHost *:80>
ServerName 域名.com
ServerAlias www.域名.com
DocumentRoot /www/htdocs/demo
</VirtualHost>
重启apache 
service httpd restart
 
创建数据库
mysql -u root -p
create database demo; #demo为要创建的数据库名
exit;
 
环境搭建已经全部完成了,下面您只需要把dedecms程序上传到/www/htdocs/demo,并把您的域名解析到您的服务器ip,即可完成dedecms的安装,本教程到此结束。

转自:http://help.dedecms.com/help/environment/2011/0614/73.html