本文是 Linux非root用户安装软件入门 的续篇和示范操作,介绍如何使用非root账号在Linux系统中编译和安装软件、依赖库。

Linux下安装软件与windows不同,常用命令行安装而非双击鼠标。之前基本是使用apt/yum包管理工具从软件仓库获取和安装。这次在开发机上,没有全局的LAMP环境,每个用户都要自行安装。本文是普通账户在家目录下从源码编译安装Apache、PHP和MySQL的教程。

安装Apache

  1. 从官网 http://httpd.apache.org/download.cgi 下载Apache2的安装源码;
  2. 解压缩,tar -zxvf  httpd.tar.gz
  3. 配置编译选项:
cd /home/work/httpd
  ./configure --prefix=/home/work/apache2 --enable-mods-shared=most

注:enable-mods-shared=most表示加载大多数的模块(动态),使用–enable-mods-shared会自动编译–enable-so

  1. 编译安装: make -j8 && make install
  2. 配置非root用户无法绑定80特权端口,打开/home/work/apache2/conf/httpd.conf修改端口并配置其他信息
  3. 启动: /home/work/apache2/bin/apachectl -k start
  4. 更新PATH变量: export PATH=/home/work/apache2/bin:$PATH。为了持久生效,将其写入到~/.bashrc文件中。

安装MySQL

1. 安装mysql依赖的aio库(可选,如果已经有的话跳过)

  1. 下载: http://libaio.sourcearchive.com/downloads/0.3.104/libaio_0.3.104.orig.tar.gz;
  2. 解压;
  3. 修改Makefile文件的安装路径(prefix);
  4. 安装: make -j8 && make install;
  5. 更新动态链接路径: 打开 ~/.bashrc, 在最后添加一行:export LD_LIBRARY_PATH=/path/to/liaio/lib:$LD_LIBRARY_PATH
    1. 从官网下载编译好的安装包: http://www.mysql.com/downloads/mysql/。注意经过实践5.6有bug,最后选择的是5.5版本;
    2. 解压缩:tar -zxvf mysql-5.5.28.tar.gz
    3. 更新PATH变量:export PATH=/home/work/mysql/bin:$PATH
    4. 更新LD_LIBRARY_PATH变量(引用mysqlclient.so):export LD_LIBRARY_PATH=/home/work/mysql/lib:$LD_LIBRARY_PATH
    5. 启动mysql

    1. 创建数据库 mysql/scripts/mysql_install_db \ --user=mysql \ --basedir=/home/work/mysql \ --datadir=/home/work/mysql/data \ --no-defaults   2. 启动数据库(后台运行):mysqld_safe   3. 设置数据库的用户名、密码: mysqladmin -u root password '123456'

安装PHP

  1. 下载: http://www.php.net/downloads.php, 最新的php5有bug,最后选择了5.4.20版本;
  2. 解压缩: tar -zxvf php-5.4.20.tar.gz
  3. 配置编译环境
   cd /home/work/php-5.4.8
     ./configure --prefix=/home/work/php --with-apxs2=/home/work/apache2/bin/apxs \
     --with-mysql=/home/work/mysql  --with-pdo-mysql=/home/work/mysql \
    --with-config-file-path=/home/work/php/etc --with-freetype-dir \
    --with-jpeg-dir --with-png-dir --with-zlib --enable-xml --disable-rpath --enable-bcmath \
    --enable-shmop --enable-sysvsem --enable-inline-optimization  \
    --enable-mbregex --enable-mbstring --with-gd --enable-gd-native-ttf --with-openssl \
    --with-mhash --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-exif \
    --enable-calendar  --enable-wddx --with-curl --with-mysqli

注意最新版本的 –with-curl参数有问题,加上会报错。另外zend的optimizier不可用,需要加上–set-opcache=no(会有提示, 5.4.20不需要这个选项)。

  1. 编译安装:make -j8 && make intallmake install 的时候可能会遇到“ cannot stat `ext/phar/phar.phar’: No such file or directory”的错误,这是因为ext/phar/phar.phar这个文件夹不存在。切换到ext/phar/phar/目录下,将phar.php文件拷贝到ext/phar/下,并重命名为phar.phar即可(5.4.20下没有这个问题)。
  2. 配置Apache打开 httpd.conf, 增加: AddType application/x-httpd-php .php
  3. 编辑php.ini,按需配置

安装phpMyAdmin

从官网http://www.phpmyadmin.net/home_page/downloads.php下载, 上传到web目录解压,并配置Apache。

参考

  1. http://www.cnblogs.com/ahomer/archive/2012/11/23/2783814.html