centos apache mysql_CentOS 安装 mysql apache php

由于对linux一知半解,所以安这些东西真的什么情况都遇到了。做个总结吧。

linux下安装mysql,采用tar包安装模式

1.建立相应目录和用户组

mkdir /usr/local/mysql

groupadd mysql

useradd -g mysql mysql

2. 解压安装

tar zxvf mysql-3.23.58.tar.gz

cd mysql-3.23.58

./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql --with-named-urses-ibs=/usr/lib/libncursesw.so.5

#prefix=/usr/local/mysql mysql安装的目标目录

#sysconfdir=/etc my.ini配置文件的路径

#localstatedir=/var/lib/mysql 数据库存放的路径

#with-named-urses-ibs  如果没有这句话则不能生成make文件

make

make install

3.建立数据库和表

/usr/local/mysql/bin/mysql_install_db --user=mysql

copy配置文件,有large,medium,small三个环境下的,根据机器性能选择,如果负荷比较大,可修改里面的一些变量的内存使用值

cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf

更改目录权限和组

chmod 755 -R /usr/local/mysql/

chown mysql.mysql -R /usr/local/mysql/

启动mysql

/usr/local/mysql/bin/mysqld_safe &

ok,先看看mysql能否正常工作

mysql -uroot mysql

(在这遇到了一个情况,就是mysql服务已启,但是输入mysql提示command not found)

解决办法:把MYSQLPATH/bin/mysql映射到/usr/local/bin目录下:

cd   /usr/local/bin

ln   -fs   /MYSQLPATH/bin/mysql   mysql

完上面的步骤,然后把你编译目录的一个脚本COPY过去

cp support-files/mysql.server /etc/rc.d/init.d/mysqld

chkconfig --add mysqld

用ntsysv设置使mysql每次启动都能自动运行。

好了,至此mysql安装完毕,你可以这样起动你的mysql服务

/etc/rc.d/init.d/mysqld start

下面这步比较关键,

ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql

ln -s /usr/local/mysql/include/mysql /usr/include/mysql

大家可以不做这步,大可以在编译其他软件的时候自定义myslq的库文件路径,但我还是喜欢把库文件链接到默认的位置,这样你在编译类似PHP,Vpopmail等软件时可以不用指定mysql的库文件地址。

安装

rpm需要yum才能运行,于是下载了taz的压缩版

安装步骤如下

shell> groupadd mysql

shell> useradd -g mysql mysql

shell> cd /usr/local

shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -

shell> ln -s full-path-to-mysql-VERSION-OS mysql

shell> cd mysql

shell> chown -R mysql .

shell> chgrp -R mysql .

shell> scripts/mysql_install_db --user=mysql

shell> chown -R root .

shell> chown -R mysql data

shell> bin/mysqld_safe --user=mysql & (启动)

关键点:创建mysql用户和组,解压,创建快捷方式(重要)  修改权限  导入初始表格

设置密码

mysqladmin -u root password 'newpassword' (输入的时候没有单引号)

创建mysql自启动服务

在MySQL目录下的support-file中,有一个叫myslq.server的启动脚本程序。把它复制到/etc/rc.d/init.d目录里面(改名为mysql):

# cd /etc/rc.d/init.d

# cp /usr/local/mysql/support-files/mysql.server mysql

接着把它的属性改为“x”(executable,可执行)

# chmod +x mysql

最后,运行chkconfig把MySQL添加到你系统的启动服务组里面去。

# /sbin/chkconfig --del mysql

# /sbin/chkconfig --add mysql

远程连接权限

进入mysql控制台  (./mysql -u root -p)

update user set host = '%' where user = 'root';

ps:我设置之后发现localhost无法进入,重新用远程ui给user中的localhost配了记录

(用户root  密码从%哪条抄下来) 后解决。

服务器编码设置

mysql默认编码是latin字符集,使用source命令导入中文数据有乱码问题。

按需要把某个my×.cnf拷贝到/etc/下(改名为my.cnf),在[mysqld]下加入default-character-set = utf8,[client]下加入default-character-set = utf8。

如果服务器在运行,需要重启。进入mysql控制台使用/s可以看到编码情况。

windows中数据的迁移

如果采用copy表文件的方式需要注意到是:

1.copy过去的表文件要设置权限,可以照着mysql库的权限来设置。

其中设置owner和所属组的代码为:

chown mysql *.*

chgrp mysql *.*

2.注意表名的问题,win下表名都被置为小写,而linux下都是使用原表名。

apache的安装

1.        进入下载目录:

cd /home/wangnan/soft

2.        解压缩文件:

tar zxvf httpd-2.2.6.tar.gz

解压缩后生成httpd-2.2.6目录,为安装源文件目录

3.        进入安装源文件目录

cd httpd-2.2.6

4.        生成安装前的配置文件,这里的—prefix指定apache的安装将安装到:/usr/local/apache目录下

./configure --prefix=/usr/local/apache --enable-modules=so --enable-rewrite

5.        生成make文件,并安装:

make;make install

完成之后:

echo "/usr/local/apache/bin/apachectl start">>/etc/rc.d/rc.local

上面设置启动系统后,自启动APACHE。

可vi /etc/rc.d/rc.local查看

(在这遇到一个问题,不能访问apache主页)

解决方法:很大的原因是防火墙:

通过/etc/init.d/iptables status命令查询是否有打开80端口,如果没有可通过两种方式处理:

1.修改vi /etc/sysconfig/iptables命令添加使防火墙开放80端口

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

2.关闭防火墙

/etc/init.d/iptables stop

#start 开启

#restart 重启

永久性关闭防火墙chkconfig --level 35 iptables off

安装php

安装php前要安一下支持包,不然就像我开始一直遇到错误。首先,服务器GCC要有,不然什么都不能做.可以用gcc -v来查看是否安装了GCC,gd-2.0.28.tar.gzlibxml2-2.X.X.tar.gzzlib-1.X.X.tar.gz 忘记了,jpegsrc.v6b.tar.gzlibpng-1.2.5.tar.gzfreetype2-X.X.tar.gz安装libxml# tar -zxf libxml2-2.6.16.tar.gz# cd libxml2-2.6.16# ./configure (xml默认安装就可以,不要指定路径了,因为安装时php可能找不到它,PHP5只支持libxml2-2.5.10以上版本)# make# make install安装zlib# tar -zxf zlib-1.2.2.tar.gz# cd zlib-1.2# ./configure --prefix=/usr/local/zlib2 (注意,如果您以前没有安装zlib,可以不指定路径,我是没有删除以前的低版本才指定的!以下雷同!)# make# make install安装jpeg# tar -zxf jpegsrc.v6b.tar.gz# cd jpeg-6b/# ./configure --prefix=/usr/local/jpeg6# make# make install-lib如果你选择默认安装,可能很顺利,指定路径后,请先创建以下文件夹错误提示:...... /usr/bin/install -c -m 644 jconfig.h /usr/local/jpeg6/include/jconfig.h/usr/bin/install: 无法创建一般文件‘/usr/local/jpeg6/include/jconfig.h’: 没有那个文件或目录make: *** [install-headers] Error 1# mkdir /usr/local/jpeg6# mkdir /usr/local/jpeg6/include# mkdir /usr/local/jpeg6/lib# make install-lib# make install安装时如果错误提示:/usr/bin/install: 无法创建一般文件‘/usr/local/jpeg6/lib/libjpeg.a’: 没有那个文件或目录make: *** [install-lib] Error 1创建如下文件夹:# mkdir /usr/local/jpeg6/lib# make install/usr/bin/install -c cjpeg /usr/local/jpeg6/bin/cjpeg/usr/bin/install: 无法创建一般文件‘/usr/local/jpeg6/bin/cjpeg’: 没有那个文件或目录make: *** [install] Error 1# mkdir /usr/local/jpeg6/bin/usr/bin/install -c -m 644 ./cjpeg.1 /usr/local/jpeg6/man/man1/cjpeg.1/usr/bin/install: 无法创建一般文件‘/usr/local/jpeg6/man/man1/cjpeg.1’: 没有那个文件或目录make: *** [install] Error 1# mkdir /usr/local/jpeg6/man# mkdir /usr/local/jpeg6/man/man1# make install好了,直到安装成功!安装libpng:# tar -zxf libpng-1.2.7-config.tar.gz# cd libpng-1.2.7-config# ./configure --prefix=/usr/local/libpng2# make# make install安装freetype:# tar -zxf freetype-2.1.9.tar.gz# cd freetype-2.1.9# ./configure --prefix=/usr/local/freetype2# make# make install安装gd库:# tar -zxf gd-2.0.26gif.tar.gz# cd gd-2.0.26gif# ./configure --prefix=/usr/local/gd2 --with-zlib=/usr/local/zlib2/ --with-png=/usr/local/libpng2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype2/ (请指定及格插件的安装路径,否则安装php的时候可能出错!)# make# make install# tar -zxf php5-200411260130.tar.gz# cd php5-200411260130# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/libpng2/ --with-gd=/usr/local/gd2/ --with-freetype-dir=/usr/local/freetype2/ --enable-trace-vars --with-zlib-dir=/usr/local/zlib2/ -with-mysql=/var/lib/mysql(*注意:如果前面的支持包有安装路径的,这的配置要写路径,如果安装时没有路径只写with-**,不要写路径,否则会报错。)# make# make install添加php配置文件:cp php.ini-dist /usr/local/php/lib/php.ini(*注意:文件中是没有php.ini-dist文件的,其实php.ini-production就可以)配置Apache让其支持php编辑 /usr/local/apache/conf/httpd.conf找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容AddType application/x-httpd-php .php找到DirectoryIndex index.html 修改成为 DirectoryIndex index.php index.html index.htm/usr/local/apache/bin/apachectl stop/usr/local/apache/bin/apachectl start最后一步重新启动apache报如下错误:httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied原因:是Linux有一个SELinux保护模式引起的。解决办法:1关闭SELINUX的方法:vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启这个方法可能会对服务器带来风险。2不关闭SELINUX的方法:# setenforce 0# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so# service httpd restart# setenforce 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值