开发者社区> 科技小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

MagicLinux+MySQL5+PHP5+Apache2+phpMyAdmin

简介:
+关注继续查看

1.安装Mysql
tar -zxvf mysql-5.0.51a-linux-i686-glibc23 /usr/local/mysql
cd /usr/local/
cd mysql
chown -R mysql .
chgrp -R mysql .
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
cd /var/run/
mkdir mysqld
touch mysqld.pid
chown -R mysql mysqld .
cd mysqld
touch mysqld.pid
cd /usr/local/mysql
bin/mysqld_safe --user=mysql &
./bin/mysql
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
解释:如果mysql服务器成功启动后,就能在/usr/local/mysql/var.采用这一选项,通常会出错,建议不

配置用默认的。默认会在/tmp/mysql.sock.目录中看到mysql.sock文件。而使Mysql运行时产生错误。
cp /usr/local/mysql/bin/mysql.server /etc/init.d/mysql
/usr/local/mysql/bin/mysql.server start (启动start 关闭stop  重启restart)

此时运行:/usr/local/mysql/bin/mysql即可进入mysql界面。
Mysql的root密码为空,登录phpMyAdmin时存在安全漏洞!
解决方法:
进入目录:/usr/local/mysql/bin/ 输入命令:
./mysqladmin -u root password "your password"

让Mysql随服务器启动:
编辑文件:/etc/rd.local向其中添加:/usr/local/mysql/bin/mysql.server start

MYSQL知识扩展:

=====================
另一种安装mysql的方法:
=====================
安装 Mysql5
groupadd mysql
useradd -g mysql mysql

tar -zxvf mysql-5.0.17.tar.gz 
cd mysql-5.0.17 
./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static

--with-extra-charsets=all 
--with-big-tables --with-charset=utf8 --with-collation=utf8_unicode_ci 
make 
make install
cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
cd /usr/local/mysql/
bin/mysql_install_db --user=mysql
chown -R root . 
chown -R mysql var 
chgrp -R mysql .
启动服务:
/usr/local/mysql/share/mysql/mysql.server start (启动start 关闭stop  重启restart)
键入mysql回车就可已看到欢迎界面。说明我们已成功安装了mysql
说明: 
--with-extra-charsets=all 对多语言支持
--with-unix-socket-path=/usr/local/mysql/var/mysql.sock 这个是指定mysql服务启动后。联机套接字

文件所处的位置和文件名,也就是说,如果mysql服务器成功启动后,就能在/usr/local/mysql/var.采用

这一选项,通常会出错,建议不配置用默认的。默认会在/tmp/mysql.sock.
目录中看到mysql.sock文件。

2.安装 apache

tar -xvzf httpd-2.2.8.tar.gz
cd httpd-2.2.8
./configure --prefix=/usr/local/apache2 --enable-rewrite --enable-so
make;make install

让Apache随服务器启动:
编辑文件:/etc/rd.local向其中添加:
/usr/local/apache2/bin/apachectl start

配置Apache:
修改/usr/local/apache2/conf/httpd.conf
2.1#ServerName www.example.com:80
ServerName 192.168.0.205:80
2.2ServerRoot "/usr/local/apache2"[此处一般不修改]
2.3Listen 80[此处一般不修改]
2.4#ServerAdmin you@example.com
ServerAdmin yunhuizheng2002@163.com
2.5#DocumentRoot "/usr/local/apache2/htdocs"
DocumentRoot "/usr/local/www"
2.6AddDefaultCharset utf8
保存退出。
2.7chown -R root "/usr/local/www"
添加虚拟目录[此处常用于phpMyAdmin的指向,当然也可用于其他]:找到# Alias /webpath

/full/filesystem/path并在其下增添代码
注:以下代码是指向/usr/local/phpMyAdmin目录的,意思是在浏览器地址栏中输入:

http://localhost/phpMyAdmin即可访问服务器/usr/local/phpMyAdmin目录中的网页文件。
    
    Alias /phpMyAdmin "/usr/local/phpMyAdmin"
    <Directory "/usr/local/phpMyAdmin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
    </Directory>

问题1:Apache启动时出现的:问题解决:
Starting   httpd:   (98)Address   already   in   use:   make_sock:   could   not   bind  

to   address   0.0.0.0:80    
no   listening   sockets   available,   shutting   down    
为什么apache不能重启 
netstat -natup |grep 80 看看80端口是那个进程占用了 
由于httpd 占有了80端口 
kill

问题2:又出现了新的问题:页面"您无权查看该网页"!!
此问题的解决并没有多么高明,以下是解决的方法:
1、问题的原因是由于所设置的目录权限,没有进行明确设置导致。具体如何设置还没有解决。
2、基于上述原因我采取了折衷做法,将网页目录设为:/usr/local/www也就是与apache2位于同一父目录

3.安装php
3.1安装libpng

tar -xvzf libpng-1.2.8.tar.gz
cd libpng-1.2.8
cp scripts/makefile.std makefile
make
make install

3.2安装 jpeg6
建立目录:
# mkdir -p /usr/local/module/jpeg6
# mkdir -p /usr/local/module/jpeg6/bin
# mkdir -p /usr/local/module/jpeg6/lib
# mkdir -p /usr/local/module/jpeg6/include
# mkdir -p /usr/local/module/jpeg6/man
# mkdir -p /usr/local/module/jpeg6/man1
# mkdir -p /usr/local/module/jpeg6/man/man1
# cd /home/zheng/linuxweb
# tar -zvxf jpegsrc.v6b.tar.gz
# cd jpeg-6b
# ./configure --prefix=/usr/local/module/jpeg6 --enable-shared --enable-static
# make; make install
* jpeg6安装文件中没有写创建目录的命令
3.3安装libpng
安装步骤如下
# cd /home/zheng/linuxweb
# tar -zvxf libpng-1.2.16.tar.gz
# cd libpng-1.2.16
# cp scripts/makefile.std makefile
# make; make install
3.4安装 freetype
# cd /home/zheng/linuxweb
# tar -zvxf freetype-2.3.1.tar.gz
# cd freetype-2.3.1
# ./configure --prefix=/usr/local/module/freetype
# make;make install
3.5安装zlib
这个一般不用安装
# cd /home/zheng/linuxweb
#tar -zxvf zlib-1.2.3.tar.gz
#cd zlib.1.2.3
# ./configure
# make;make install
3.6安装Curl库
这个一般不用安装
# cd /home/zheng/linuxweb
# tar -zxvf curl-7.18.1.tar.gz
# mkdir -p /usr/local/curl
# ./configure --prefix=/usr/local/curl
# make; make install
3.7安装GD
# cd /home/zheng/linuxweb
# tar -zvxf gd-2.0.34.tar.gz
# mkdir -p /usr/local/module/gd
# cd gd-2.0.33
# ./configure --prefix=/usr/local/module/gd \
> --with-png \
> --with-jpeg-dir=/usr/local/module/jpeg6 \
> --with-freetype=/usr/local/module/freetype \
> --with-zlib
# make; make install

3.8安装php5,php5必须有libxml2支持!编译通不过大部分是由于这个模块
a.安装libxml2
# cd /home/zheng/linuxweb
# tar -zxf libxml2-2.6.26.tar.gz
# cd libxml2-2.6.26
# mkdir -p /usr/local/module/libxml2
# ./configure --prefix=/usr/local/module/libxml2
# make; make install

b.安装 libxslt(可选安装,你可以不安装)
# cd /home/zheng/linuxweb
# tar -zxf libxslt-1.1.15.tar.gz
# mkdir -p /usr/local/module/libxslt
# cd libxslt-1.1.17
# ./configure --prefix=/usr/local/module/libxslt --with-libxml-

prefix=/usr/local/module/libxml2
# make; make install

c.安装php5
# cd /home/zheng/linuxweb
# tar -zvxf php-5.2.1.tar.gz
# mkdir -p /usr/local/php
# cd php-5.2.1
# ./configure --prefix=/usr/local/php /
--with-apxs2=/usr/local/apache2/bin/apxs /
--with-mysql=/usr/local/mysql /
--with-xml /
--with-png /
--with-jpeg-dir=/usr/local/module/jpeg6 /
--with-zlib /
--with-freetype-dir=/usr/local/module/freetype /
--with-gd=/usr/local/module/gd /
--with-curl /
--enable-track-vars /
--disable-debug /
--enable-url-includes /
--enable-sockets /
--enable-force-cgi-redirect /
--enable-calendar /
--with-config-file-path=/etc /
--enable-magic-quotes /
--enable-ftp /
--enable-gd-native-ttf /
--with-ttf /
--with-gdbm /
--with-gettext /
--with-iconv /
--enable-mbstring=all /
--enable-memory-limit /
--with-libxml-dir=/usr/local/module/libxml2 /
--with-xsl=/usr/local/module/libxslt /
--enable-xslt
# make
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini (别忘记了呵呵)
如果通不过,运行下面2行
# cp php.ini-dist /usr/local/lib/php.ini
# cp php.ini-dist /etc/php.ini

其中./configure 后的
--prefix=/usr/local/php
--with-apxs2=/usr/local/apache2/bin/apxs
--with-mysql=/usr/local/mysql
--with-xml
是必要的选项
--with-png /
--with-jpeg-dir=/usr/local/module/jpeg6 /
--with-gd=/usr/local/modules/gd /
--with-zlib /
--with-freetype-dir=/usr/local/module/freetype /
这是让PHP支持GD库的配置选项
后面都是一些 要使用的PHP 函数库 可以根据自己的喜好 删除或增加
重新配置apache2让他支持php。
配置 httpd.conf 让apache支持PHP
# vi /usr/local/apache2/conf/httpd.conf
找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
=================================================
整合apache2和php5
---------------------------------参考文件
apache 配置文件及目录是:
/usr/local/apache2/conf/httpd.conf
apache 默认存放主页的位置是:
/usr/local/apache2/htdocs
以下是配置文件里面的信息:(有的地方要做修改)
ServerRoot "/usr/local/apache2"
这是指定apache程序所在的目录,比如日志文件、配置文件等目录。
DocumentRoot "/usr/local/apache2/htdocs"
这个是存放网页的目录
<Directory "/usr/local/apache2/htdocs">
这一句应该和DocumentRoot的目录保持一致。
找到 DirectoryIndex index.html
改为 DirectoryIndex index.html index.html.var index.htm index.php
找到 AddType application/x-gzip .gz .tgz 
加        AddType application/x-httpd-php .php (注意空格)
           AddType application/x-httpd-php-source .phps
添加 AddDefaultCharset utf8 使apache默认支持utf8字符集
保存配置文件就重启apache 的守护进程。
/usr/local/apache2/bin/apachectl restart(start/stop)
=================================================
重启apache
# /usr/local/apache2/bin/apachectl restart

--------------------
php.ini文件的寻找
--------------------
关于php.ini这个文件,我在/usr/local/php和/usr/bin和/usr/local/bin下始终没有找到。
最后还是在源文件中提取出来的,也就是PHP 5.2.gz中的php.ini-recommended,将其改名为php.ini。

然后复制到目录:/usr/local/php/lib/下面。


======================
最后安装phpMyAdmin
======================
在目录/usr/local/下新建一个目录:phpMyAdmin,将phpMyAdmin压缩包中的所有文件解压到此新建的文件

夹中。然后将libraries子文件夹中的config.default.php复制到phpmyadmin文件夹中,并重命名为

config.inc.php。
打开config.inc.php,找到
$cfg['Servers'][$i]['auth_type']     = 'config';

将其修改为
$cfg['Servers'][$i]['auth_type']     = 'http';
打开Apache的配置文件httpd.conf,找到 # Alias /webpath /full/filesystem/path,在下面添加一下代

码(具体路径根据自己的情况修改):
======================
此为创建活动目录,
活动目录的网址为:http://127.0.0.1/活动目录。
======================
Alias /phpMyAdmin "/usr/local/phpMyAdmin"
<Directory "/usr/local/phpMyAdmin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
保存httpd.conf。在命令提示符中执行 /usr/local/apache2/bin/apachectl restart 重新启动Apache。

 

=====
测试
=====
1.在/usr/local/www[如果你未对文件httpd.conf进行修改的话目录应为/usr/local/apache2/htdocs]目

录里建一内容为:


<?php
    phpinfo();
?>

的PHP文件,命名为index.php, 输入URL地址:
http://127.0.0.1/index.php
如果有网页显示,则表示成功。


2.测试MySQL和phpMyAdmin是否正确安装
在浏览器中,打开http://localhost/phpMyAdmin。在出现的对话框中输入MySQL的管理员帐号(root)和

密码。安装成功!!

======
mysql设置密码
======
在初次登录http://localhost/phpMyAdmin时,用户名为root,密码为空。进入后在首页的下方有这样的文

字:
您配置文件中的设定与 MySQL 默认权限账户对应(没有密码的 root)。您的 MySQL 服务器使用默认值运行

当然没有问题,不过这样的话,被入侵的可能性会很大,您真的应该先补上这个安全漏洞。

==
原因分析
==

  刚安装好的MySql包含一个含空密码的root帐户和一个匿名帐户,这是很大的安全隐患,对于一些重要

的应用我们应将安全性尽可能提高,在这里应把匿名帐户删除、root帐户设置密码,可用如下命令进行:


====
附录

====
1.Mysql的root密码为空,登录phpMyAdmin时存在安全漏洞!
解决方法:
进入目录:/usr/local/mysql/bin/ 输入命令:
./mysqladmin -u root password "your password"

更改之前root有密码的情况,假如为123456 
./mysqladmin -u root -p123456 password "your password"

mysql 添加用户
建一新資料庫: 
以mysql最高管理者,在mysql>create database XXXXX; 
xxxxx即為新建之資料庫名

在MySQL中如何增加一個新用戶,即在一個資料庫中增加一個帶密碼的新用戶來訪問它。
可以用GRANT命令,格式如下:
GRANT 許可權 ON 庫名.表名 TO 新用戶名@主機名 IDENTIFIED BY '密碼'; 
grant all on husidb.* to john@localhost identified by '201314';

grant all on discuz.* to john@localhost identified by '201314';

2.制定系统自动重启/关机脚本
解决方法: 
vi /etc/rc.local在其中添加以下两行中的一行:
因为只能执行第一个shutdown命令
shutdown -r 13:00   #服务器在每天的13:00自动重新启动
shutdown -h 21:00   #服务器在每天的21:00自动关闭机器
注意:
一旦你的脚本开始运行,那么reboot命令就不能再用,系统会出现:shutdown: already running.的信息


这时怎么办呢?呵呵,你可以输入命令:init 6来重启机子。因为init命令是所有进程的祖先。

查看当前系统进程的列表命令:ps ax 
若要显示进程以及它们的所有者:ps aux 
通过命令:"ps -ax | grep shutdown"你可以看到重启和关机两个进程。

或许你的系统时间和你所知道的标准时间不一样,那么,你可以运行date命令,如下:
如:设置时间为上午9点16分
命令:# date -s 09:16:00

3.关闭不必要的开机自检,加快开机速度。

4.卸载Linux系统中多余的程序,释放更多的磁盘空间。

5.phpBB3论坛相关权限
[root@zhijiaozhongxin www]# chmod 777 cache
[root@zhijiaozhongxin www]# chmod 777 files
[root@zhijiaozhongxin www]# chmod 777 images
[root@zhijiaozhongxin www]# chmod 777 store/
[root@zhijiaozhongxin www]# chmod 777 config.php 
[root@zhijiaozhongxin www]# chmod 777 images/avatars/upload/



本文转自tiancong 51CTO博客,原文链接:http://blog.51cto.com/tiancong/656503

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
PHP连接MySQL 8.0报错的解决办法
PHP连接MySQL 8.0报错的解决办法
141 0
centos下 Apache、php、mysql默认安装路径
apache: 如果采用RPM包安装,安装路径应在 /etc/httpd目录下 apache配置文件:/etc/httpd/conf/httpd.conf Apache模块路径:/usr/sbin/apachectl web目录:/var/www/html 如果采用源代码安装,一般默认安装在/usr/local/apache2目录下 php: 如果采用RPM包安装,安装路
2970 0
PHP面试题:你常用到的mysql命令?
PHP面试题:你常用到的mysql命令?
49 0
全方位解读服务网格(Service Mesh)的背景和概念
为了解决微服务框架的侵入性问题,我们引入服务网格。
1244 0
PolarDB 并行查询的前世今生
本文会深入介绍PolarDB MySQL在并行查询这一企业级查询加速特性上做的技术探索、形态演进和相关组件的实现原理,所涉及功能随PolarDB MySQL 8.0.2版本上线。
507 0
企业内部应用接入钉钉获取部门及人员信息
企业内部应用接入钉钉,同时通过API获取当前企业下部门及人员信息
1190 0
23704
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载