折腾了两天,终于把dotproject安装上了。其中配置lamp确实费了不少力气,起初我不知道fedora是默认安装lamp的,所以编译安装了httpd和php,当然是没有成功。后来把系统自带的卸载了编译安装也没有安装成功,PHP连接不上mysql。后来知道可能是没有卸载干净。总之最后我用yum安装了,居然成功了。现在把安装容易出现的问题写一下,以防以后再走弯路。
首先是系统默认安装lamp的路径
apache:
如果采用RPM包安装,安装路径应在 /etc/httpd目录下
apache配置文件:/etc/httpd/conf/httpd.conf
Apache模块路径:/usr/sbin/apachectl
web目录:/var/www/html
如果采用源代码安装,一般默认安装在/usr/local/apache2目录下
php:
如果采用RPM包安装,安装路径应在 /etc/目录下
php的配置文件:/etc/php.ini
如果采用源代码安装,一般默认安装在/usr/local/lib目录下
php配置文件: /usr/local/lib/php.ini
或/usr/local/php/etc/php.ini
mysql:
如果采用RPM包安装,安装路径应在/usr/share/mysql目录下
mysqldump文件位置:/usr/bin/mysqldump
mysqli配置文件:
/etc/my.cnf或/usr/share/mysql/my.cnf
mysql数据目录在/var/lib/mysql目录下
如果采用源代码安装,一般默认安装在/usr/local/mysql目录下
1.卸载系统默认的安装
卸载 Mysql [root@yourdomainname/]# rpm -qa | grep mysql
mysql-3.23.58-9
php-mysql-4.3.4-11
mod_auth_mysql-20030510-4.1
mysql-server-3.23.58-9
l 说明: rpm –qa | grep mysql 命令是为了把 mysql 相关的包都列出来,我上面的例子是 Fedora core2 默认安装 mysql 的 rpm 软件包列表,如果是别的 Linux 版本列出来的列表有可能会不一样,不过不用担心,不管是什么,卸载都从最下面的一个包开始,直到卸载掉第一个为止。
l 比如:在这个例子中,我们应该先卸载 mysql-server-3.23.58-9 方法如下:
rpm –e mysql-server
可以用yum -y remove mysql-server
l 说明: rpm –e 是卸载 rpm 包的命令,后面是包名称,最后的版本号是不用打的,比如我们下一步卸载 mod_auth_mysql-20030510-4.1 包,方法如下:
rpm –e mod_auth_mysql
卸载 Apache [root@ yourdomainname /]# rpm -qa | grep httpd
httpd-2.0.49-4
system-config-httpd-1.2.0-3
httpd-manual-2.0.49-4
l 说明:方法跟卸载 Mysql 一样,不用说了吧
卸载 PHP [root@ yourdomainname /]# rpm -qa | grep php
php-odbc-4.3.4-11
php-4.3.4-11
php-mysql-4.3.4-11
php-pear-4.3.4-11
php-ldap-4.3.4-11
php-pgsql-4.3.4-11
l 说明:方法跟卸载 Mysql 一样,不用说了吧
l 注意:卸载的时候如果卸载不掉,系统一般会提示包的依赖关系,并且列出依赖的包的名称,先卸载提示依赖的包就可以了。
l
如果实在实在有卸载不掉的包,可以加 —nodeps 这个参数来卸载,比如我们卸载 php-4.3.4-11 ,实在卸不掉了。就用:
[root@ yourdomainname /]# rpm -e php-4.3.4-11 –nodeps
命令很强硬,应该行的。
2.用yum install 安装相应的包,安装完后还要进行扩展安装
//安装apache扩展
yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
//安装php的扩展
yum install php-gd
yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc
//安装mysql扩展
yum -y installmysql-connector-odbcmysql-devel libdbi-dbd-mysql
3.设置开机自启动
/sbin/chkconfig httpd on [设置apahce服务器httpd服务开机启动]
/sbin/chkconfig –add mysqld [在服务清单中添加mysql服务]
/sbin/chkconfig mysqld on [设置mysql服务开机启动]
/sbin/service httpd start [启动httpd服务,与开机启动无关]
/sbin/service mysqld start [启动mysql服务,与开机无关]
4.相关服务的启动命令
启动httpd
/etc/init.d/xxxstart|stop|restart
/etc/init.d/httpdreload
优点:不必找出进程的PID
/etc/init.d/httpdrestart
关闭然后重新打开
Linux系统下启动MySQL的命令:
mysqladmin start
/ect/init.d/mysql start (前面为mysql的安装路径)
2.linux下重启mysql的命令:
mysqladmin restart
/ect/init.d/mysql restart (前面为mysql的安装路径)
3.linux下关闭mysql的命令:
mysqladmin shutdown
/ect/init.d/mysql shutdown (前面为mysql的安装路径)
4.连接本机上的mysql:
进入目录mysql/bin,再键入命令mysql -uroot -p, 回车后提示输入密码。
退出mysql命令:exit(回车)
5.修改mysql密码:
mysqladmin -u用户名 -p旧密码 password 新密码
或进入mysql命令行SET PASSWORD FOR root=PASSWORD("root");
6.增加新用户。(注意:mysql环境中的命令后面都带一个分号作为命令结束符)
grant select on 数据库.* to 用户名@登录主机 identified by "密码"
如增加一个用户test密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:
grant select,insert,update,delete on *.* to " Identified by "123";
5.安装php
按照以上的安装方式, 配置出来的默认站点目录为/var/www/html/
新建一个php脚本:
<?php
phpinfo();
?>
http://localhost/info.php
通过这个地址可以查看PHP的安装信息
5.安装dotproject
character set client | utf8 |
---|---|
character set connection | utf8 |
character set database | utf8 |
character set results | utf8 |
character set server | utf8 |
character set system | utf8 |
站点配置
$dPconfig['root_dir'] = “D:/AppServ/www/dotproject”; //dotproject的绝对路径
6.dotproject警告
在写php程序中有时会出现这样的警告:PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead in D:/PHPWEB/news/file.php on line 17 。这是因为PHP所取的时间是格林威治标准时间,所以和你当地的时间会有出入格林威治标准时间和北京时间大概差8个小时左右,我们可以按照下面的方法解 决: 1、在页头使用date_default_timezone_set()设置我的默认时区为北京时间,即 <?php date_default_timezone_set("PRC"); ?>就可以了。 2、在php.ini中设置date.timezone的值为PRC,设置好以后的为:date.timezone=PRC,同时取消这一行代码的注释, 即去掉前面的分号就可以了。