您的位置:首页 > 其它

ubuntud——系统备份和恢复

2016-04-24 06:32 465 查看
Ubuntu 编译安装mysql

自编译安装APACHE2+PHP5+MYSQL5+OPENSSL
虽然现在有很多很方便的工具可以把整个安装过程傻瓜化,但是总有那么一些不尽人意的地方,比如 说安装之后的一些配置文件在哪,如果要加载一些组件怎么办,。。。等等问题 所以在ubuntu能apt安装环境,XAMPP等傻瓜化软件出来的情况下,我还是首选自己编译安装,虽然有些浪费时间,但是稳定性和易操作易配置性要好 的多。(首先声明 我也是个小菜,而且本贴也非原创,不过是因为自己找了些资料 成功搭建了这个平台,所以拿出来分享下 本人的ubuntu是7.10 apache php mysql openssl皆是目前稳定的最新版)

第一步:编译环境的配置(并不是都需要 不过有些朋友在编译的时候失败了就放弃了 我觉得很可惜)

我用的是官方源 如果有些包找不到请更换cn99源

代码:
sudo apt-get install build-essential flex automake autoconf make gcc g++ libgcc1 libg++ gdb kernel-package libncurses5-dev initramfs-tools module-init-tools binutils bison byacc m4 libxml2 libxml2-dev totem-xine

也 许上面的包有些已经过时了 不过如果你在官方源和cn99源中都找不到 就可以忽略了 不影响编译安装过程 :)

第二步:MYSQL5的 安装

到MYSQL的官方网站下载最新版本的源代码(我这里是mysql-5.0.45.tar.gz)

地 址:http://dev.mysql.com/downloads/mysql/5.0.html 注意是下载源代码 页面往下拉 看到 Source downloads 第一个就是了 Compressed GNU TAR archive (tar.gz) 放到~/MyDownloads

接 下来开始解压配置

代码:
cd ~/MyDownloads

sudo tar xzvf mysql-5.0.45.tar.gz -C /usr/local/src

## 解压出来之后的目录就是mysql-5.0.45

cd /usr/local/src/mysql-5.0.45

## 编译安装到/usr/local/mysql目录下 等待ing

sudo ./configure --prefix=/usr/local/mysql

sudo make

sudo make install

## 安装系统数据库

sudo ./scripts/mysql_install_db

## 以上的当前目录都应该是在/usr/local/src/mysql-5.0.45 接下来为了安全性需要设置 mysql目录的访问权限

## 创建一个名为mysql的用户 组别为mysql 并设置/usr/local/mysql的访问权限(当然你也可以不用mysql的用户名和组名)

groupadd mysql

useradd -g mysql mysql

chown -R root /usr/local/mysql

chown -R mysql /usr/local/mysql/var

chgrp -R mysql /usr/local/mysql

## 将mysql的配置文件放置在/etc目录 名为my.conf

sudo cp ./support-files/my-medium.cnf /etc/my.conf

至此 我们的mysql5已经安装成功 为了mysql能更好的工作 我们可以设置一些相关配置(视个人情况而定)

sudo gedit /etc/my.conf



# The MySQL server

[mysqld]

下添加

set-variable=max_connections=150 #设置最大连接数为150

query_cache_type=1 # 查询缓存

第一次启动mysql并设置root用户密码

sudo /usr/local/mysql/bin/mysqld_safe --user=mysql&(开启mysql服务)

sudo /usr/local/mysql/bin/mysqladmin -uroot password XXXXXX(你的密码)

/usr/local/mysql/bin/mysql -uroot -pXXXXXX(刚设置的密码 该命令为登录mysql)

sudo /usr/local/mysql/bin/mysqladmin -uroot -pXXXXXX shutdown(关闭mysql服务)

mysql 服务开启后 会有mysqld进程运行 可以通过 ps -e | grep mysqld 查询

第三步:OpenSSL的安装

到 OpenSSL的官网下载最新版的源代码(我的是openssl-0.9.8g.tar.gz)

地 址:http://www.openssl.org/source/ 下载到~/MyDownloads

代码:
## 默认安装/usr/local/ssl

cd ~/MyDownloads

tar xzvf openssl-0.9.8g.tar.gz -C /usr/local/src

cd /usr/local/src/openssl-0.9.8g

sudo ./config

sudo make

sudo make install

第四步:Apache2的安装

到Apache2的官 网下载最新版的源代码(我这里是httpd-2.2.6.tar.bz2)

地址:http://httpd.apache.org /download.cgi 下载到~/MyDownloads (你也可以下载tar.gz的)

代码:
cd ~/MyDownloads

sudo tar xvfj httpd-2.2.6.tar.bz2 -C /usr/local/src

cd /usr/local/src/httpd-2.2.6

## apache2的配置比较麻烦

sudo ./configure --prefix=/usr/local/apache2 --enable-so --enable-ssl=static --with-ssl=/usr/local/ssl --enable-mods-shared=all

## 以上配置的意思是将apache2预安装到/usr/local/apache2 安装之后的apache2能加载模块 将ssl静态编译进apache2 因为在配置过程中需要ssl的头文件 所以需要--with-ssl=/usr/local/ssl提供ssl的安装目录

sudo make

sudo make install

配置apache2

Ctrl+F 搜索 Include conf/extra/httpd-ssl.conf 并去掉前面的#

Ctrl+F 搜索 ServerName 找到一行ServerName XXX.XXX.XXX.XXX 80 的 修改为ServerName localhost:80

如果你80端口已经被占用 需要用其他端口 需要将 Listen 80 一并修改

Ctrl+F 搜索 DocumentRoot 找到一行Document .... /htdocs的 这里可以修改虚拟目录 不过要将下面不远处的

<Directory "XXXXXXX/htdocs">修改为你的虚拟目录路径 否则会出现权限问题

因为将ssl静态编译进了apache2所以在apache2启动之前配置ssl证书和密钥

用到一个配置证书 和密钥小工具 可以在附件中下载 ssl.ca-0.1.tar.gz

解压缩到/usr/local/apache2/conf中

代码:
cd ~/MyDownloads

sudo tar xzvf ssl.ca-0.1.tar.gz -C /usr/local/apache2/conf

cd /usr/local/apache2/conf/ssl.ca-0.1

# 生成根证书(执行成功将在当前目录生成ca.key和ca.crt两个文件)

sudo ./new-root-ca.sh

# 部分注解如下

. . . . . .

Enter pass phrase for ca.key: (输入一个密码)

Verifying - Enter pass phrase for ca.key: (再输入一次密码)

. . . . . .

Enter pass phrase for ca.key: (输入刚刚设置的密码)

. . . . . .

Country Name (2 letter code) [MY]:CN(国家代码)

State or Province Name (full name) [Perak]:Chongqing(州名)

Locality Name (eg, city) [Sitiawan]:Chongqing(城市名)

Organization Name (eg, company) [My Directory Sdn Bhd]:Ostenia(公司或组织名)

Organizational Unit Name (eg, section) [Certification Services Division]:Tech(部门名)

Common Name (eg, MD Root CA) []:Ostenia CA(根证书名)

Email Address []:yiller@yahoo.cn(E-mail地址)

# 生成服务器证书(执行成功将在当前目录生成server.csr和server.key这两个文件)

sudo ./new-server-cert.sh server (server是服务器证书的名字)

. . . . . .

# 英文注释同上

# 签署服务器证书

sudo ./sign-server-cert.sh server (server要和你刚才输入的一样)

Enter pass phrase for ./ca.key: (输入上面设置的根证书密码)

Sign the certificate? [y/n]:y(签署证书么?废话)

1 out of 1 certificate requests certified, commit? [y/n]y(有1个证书需要被签署 同意么?同上)

# 修改证书权限并部署

sudo chmod 400 server.key

sudo mv server.key ../

sudo mv server.crt ../

现 在可以运行apache2了

sudo /usr/local/apache2/bin/apachectl start(开启apache服务 2.0以后ssl是随之一起启动的 你可以用http:// 和 https://测试)
sudo /usr/local/apache2/bin/apachectl stop(关闭)

sudo /usr/local/apache2/bin/apachectl restart(重启)

在apache服务开启后 将有httpd进程运行 可以通过 ps -e | grep httpd 查看

但是现在只能浏览html网页 下一步安装php5

最后一步:php5 的安装

下载源代码(我这里是php-5.2.4.tar.gz)

地址:http://www.php.net /downloads.php(目前最新版为5.2.5 可以同样安装)

代码:
cd ~/MyDownloads

sudo tar xzvf php-5.2.4.tar.gz -C /usr/local/src

cd /usr/local/src/php-5.2.4

sudo ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-openssl=/usr/local/ssl --with-mysql=/usr/local/mysql

# 以上配置的意思是 采用apache2布局 支持openssl 支持mysql数据库 php的默认安装目录是/usr/local 如果你需要指定php的安装目录 可以加上 --prefix=/usr/local/php(后面改成你的路径)

sudo make

sudo make install

# 部署php.ini配置文件 当前目录仍是/usr/local/src/php-5.2.4

sudo cp ./php.ini-dist /usr/local/lib/php.ini

现在php也已经装好了 对php的配置在/usr/local/lib/php.ini中

配置apache2以支持.php文件

sudo gedit /usr/local/apache2/conf/httpd.conf

在文件最后添加

<IfModule mod_php5.c>

AddType application/x-httpd-php .php

DirectoryIndex index.php

</IfModule>

OK 大功告成

写个phpinfo测试下

<?php

phpinfo();

?>
一,安装Mysql到sudo make install这一步的时候出现xxx is not in the sudoers file. This incident will be reported的错误,原来是mysql 用户默认没有开启sudo权限,解决方法:

#su -

#chmod u+w /etc/sudoers

#visudo

在root ALL=(ALL) ALLZ下

添加xxx ALL=(ALL) ALL

然后按esc键,再输入:wq!保存退出

#chmod u-w /etc/sudoers

问题解决!

-------------------

安装mysql-5.1.30时 mysql_install_db出现FATAL ERROR: Could not find mysqld错误解决

安装或者重新mysql-5.1.30时mysql_install_db出现FATAL ERROR: Could not find mysqld错误解决,上网搜寻了结果很多,却没有找到解决答案,最后发现安装时/etc/mysql文件夹下有个配置文件my.cnf,而我在安装时运 行了cp support-files/my-medium.cnf /etc/my.cnf,照成这个
解决方法:
mv /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
cp support-files/my-medium.cnf /etc/cnf
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: