lamp配置以及dotprject安装

来源:互联网 发布:乔丹数据 编辑:程序博客网 时间:2024/06/04 19:16

折腾了两天,终于把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默认安装mysqlrpm软件包列表,如果是别的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

 

dotproject的安装很简单,解压缩后放在apache的根目录下面,之后运行http://ip/dotproject/install/ 就会出现安装界面。安装界面会提示需要修改include/config.php的权限,需要apache用户可以写入才可以。当然也可以直接chmod 666 include/config.php.出现的界面,可能一些环境检测状态打叉,可以不用理会,继续进行安装,进入另一个页面,添加数据库地址,用户名等等。点击创建,很快就可以完成。
 
登录http://ip/dotproject/ 出现登录页面,输入用户名和密码就可以,默认用户名admin 密码passwd
 
 
    登录成功后,首先做汉化工作,点击system admin 进入系统设置界面,点这个Default User Preferences  ,在local选择简单体中文就可以了。退出重新登录一下,怎么样变成中文了。不要以为就完事了,还有后面的呢,创建个公司试试看,中文竟然显示乱码,全部显示为????这样问号。
   
   出现这个原因,主要是mysql数据库默认不是utf-8字符,所以,显示为乱码。第一步修改mysql默认字符集为utf8  修改/etc/my.cnf
[mysqld]
default-character-set=utf8
init_connect='SET NAMES utf8'
 
[client]
default-character-set=utf8
 
添加如上内容后,重启动mysql,再登录 dotproject ,查看是否正常。
通过上面的操作,我登录dotproject后,还是显示为乱码,很是不解,于是安装phpmyadmin ,登录phpmyadmin 选择中文,查看字符状态为utf8
 
character set clientutf8character set connectionutf8character set databaseutf8character set resultsutf8character set serverutf8character set systemutf8
 
 
登录dotproject,发现还是乱码。于google后看一篇文章,提到这么一句话,mysql已经更改utf-8为默字符,但原有数据还是原字符形式,需要进行字符转换,看到这段话时,得到启动,是不是我在安装dotproject创建表时已经使用原字符,所以,我将原来创建的那些表全部删除,再次重新安装dotproject.
登录后,中文显示一切正常。得以安装成功能,感谢网上共享的朋友们,所以,把自己安装把过程整理出来,希望可以帮到后面的人。
 
 
为了显示甘特图,还需要安装php-gd才可以。
root@localhost ~]# rpm -qa |grep freetype
freetype-2.1.9-1
[root@localhost ~]# rpm -qa |grep png
libpng-devel-1.2.7-1
libpng-1.2.7-1
libpng10-1.0.16-1
libpng10-devel-1.0.16-1
[root@localhost ~]# rpm -qa |grep jpeg
libjpeg-6b-33
libjpeg-devel-6b-33
[root@localhost ~]# rpm -qa |grep zlib
zlib-1.2.1.2-1
zlib-devel-1.2.1.2-1
[root@localhost ~]# rpm -qa |grep gd
gdbm-1.8.0-24
sysklogd-1.4.1-26_EL
gd-2.0.33-2
上面包都安装后,安装php-gd,再重启httpd,访问http://ip/dotproject/install可以看到gd验证已经通过。
php-gd-4.3.9-3.1

还需要个修改/etc/php.ini  里面的memory_limit  大一些,默认为8MB,改为16或32试试看。

修改配置文件,dotproject/include/下面有个默认的config-dist.php,我们在这个文件基础上改,先cp config-dist.php config.php,然后编辑这个config.php文件,主要修改下面:
数据库配置
$dPconfig['dbtype'] = “mysql”;      // ONLY MySQL is supported at present
$dPconfig['dbhost'] = “localhost”; //数据库服务器名称,一般不用修改
$dPconfig['dbname'] = “dotproject”;  // 刚才创建的数据库名称
$dPconfig['dbuser'] = “hongsoft”;  // 数据库用户名称
$dPconfig['dbpass'] = “hongsoft”;  // 上面那个用户的密码
$dPconfig['dbport'] = “”;  // 修改为你的mysql的端口,如果你自己没改过的话这里不用动了

站点配置
$dPconfig['root_dir'] = “D:/AppServ/www/dotproject”;  //dotproject的绝对路径

$dPconfig['base_url'] = “http://blog.csdn.net/hongbo781202/”; //dotproject的url路径

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()设置我的默认时区为北京时间,即<?phpdate_default_timezone_set("PRC");?>就可以了。2、在php.ini中设置date.timezone的值为PRC,设置好以后的为:date.timezone=PRC,同时取消这一行代码的注释,即去掉前面的分号就可以了。