下面简要说一下Linux下非root用户安装软件的一般流程:

1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码。

2. 解压源代码,一般使用tar -zxvf xxx.tar.gz即可

3. 切换到解压后的目录,运行 ./configure。其选项可以通过 ./configure –help来获取,非root用户下最重要的应该是定义安装目录,即应该定义 ./configure –prefix=/path/to/bin, 对于一些依赖库,可能还需要使用 ./configure  –prefix=xxx –with-xx-dir=xxx这种形式。

4. 接着是编译源代码和安装软件: make &&  make install。这两条命令可以分开来用,因为编译的时候可以指定参数 -j来并行编译,这样能够加快编译进度。。

5. 更新path路径。使用export PATH=/path/to/bin:$PATH,这句话在shell窗口运行只在本次会话中有效,可以将其写到.bashrc或者.bash_profile里面使其对当前用户有效。

6.如果安装的是动态链接库,则需要更新动态链接库路径: export LD_LIBRARY_PATH=/path/to/library:$LD_LIBRARY_PATH,同样是export命令,最好将其写在.bashrc这类文件下面以便登陆的时候自动调用。

非root用户安装apache、php、mysql

linux下安装软件不像windows一样点击鼠标就可以完成,然而之前接触到的是从软件仓库里使用yum或者apt的工具来安装。最近接触到的服务器版本比较老,没有yum之类的软件,安装软件都是从源码安装。由于安全限制,服务器还不能直接访问外网(甚至两个子网都不能互通),wget方式获取软件源码的方法都不可行。由于路由的隔离,只能在能访问外网的机器上下载好软件,然后使用rz或者samba的方式拷贝到测试机器上,然后开发机使用ftp的方式从测试机上获取到安装包(scp和ssh都被屏蔽掉)。当然,这是安装前的工作。
 
一、安装apache

从官网 http://httpd.apache.org/download.cgi 下载apache2的安装源码。

 
1.解压缩
   tar -zxvf  httpd.tar.gz
 
2.1自定义安装路径
   cd /home/work/httpd
   ./configure –prefix=/home/work/apache2 –enable-mods-shared=most
注:enable-mods-shared=most表示加载大多数的模块(动态),使用–enable-mods-shared会自动编译–enable-so
 
3.安装
   make
   make install
 
非root用户使用的端口80将无权。你可能不是用root启动apache,1~1024 端口只有root只能bind。
所以,需要打开/home/work/apache2/conf/httpd.conf修改所有者、端口信息。
 
4.启动apache
    /home/work/apache2/bin/apachectl -k start
 
 
二、安装mysql
从官网下载编译好的安装包: http://www.mysql.com/downloads/mysql/,注意经过实践5.6有bug,最后选择的是5.5版本。
 
0  安装mysql依赖的异步io库:libaio.so(可选,如果已经有的话跳过):http://libaio.sourcearchive.com/downloads/0.3.104/libaio_0.3.104.orig.tar.gz
 
解压之后根据需要修改Makefile里面的安装路径(prefix), 然后运行make && make install 即可。
 
如果不是用root用户安装,需要将liaio.so的路径加入到动态链接路径, 运行 vim ~/.bash_profile, 在最后添加一行:
export LD_LIBRARY_PATH=/path/to/liaio/lib:$LD_LIBRARY_PATH
 
1.解压缩
   tar -zxvf mysql-5.5.28.tar.gz
 
2.启动mysql
  1.创建数据库
  mysql/scripts/mysql_install_db \
–user=mysql \
–basedir=/home/work/mysql \
–datadir=/home/work/mysql/data \
–no-defaults
 
  2.启动数据库(后台运行)
   mysql/bin/mysqld_safe
 
    3.设置数据库的用户名、密码
     mysql/bin/mysqladmin -u root password ‘123456’
 
  4.进入数据库
  mysql -u root -p mysql(数据库名)
    show database;  (分号很重要,查看当前的数据库名)
    use mysql;  (进入名为为mysql的数据库)
    show tables; (显示mysql的所有表名)
 
    安装完,默认只能localhost才能访问数据,从其他地方访问mysql,需要对特定用户进行授权。
    //授权root用户从任何地方访问数据库
   方式一:
    GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘rootpasswd’ WITH GRANT OPTION;
   方式二:
    update user set host = ‘%’ where user = ‘root’;mysql>select host, user from user;
    授权后需要重新加载数据库(可以停数据库,重启,步骤2):
     mysqladmin -u root -p reload
 
 
 
三、安装php
 
http://www.php.net/downloads.php, 最新的php5是有bug的,最后选择了5.4.20版本。
 
1.解压缩
   tar -zxvf php-5.4.20.tar.gz
 
2.自定义安装路径
  vim  .bash_profile,添加:
   MYSQL_LIB=’/home/work/mysql/lib’
   export LD_LIBRARY_PATH=$MYSQL_LIB:$LD_LIBRARY_PATH
 
   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不需要这个选项)。
 
3.安装
   make
   make intall
make 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下没有这个问题)。
 
4. 添加apache2对php文件解析的支持
打开 httpd.conf, 增加:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
AddType application/x-httpd-php .php .phtml .php3 .php4
AddType application/x-httpd-php-source .phps
 
 
5. 复制php.ini到etc下
 
6. 安装apc, memcache
    从官网下载安装包,然后编译出动态链接库:
tar xzvf APC-3.0.19.tgz
/usr/local/webserver/php/bin/phpize
./configure –enable-apc –enable-apc-mmap –with-php-config=/usr/local/webserver/php/bin/php-config –prefix=/usr/local/apc
make && make install
 
 
四、安装phpMyAdmin
 从官网下载http://www.phpmyadmin.net/home_page/downloads.php, 然后上传到web目录,解压之后即可。如果有需要,可以设置alias。

非root用户安装软件的更多相关文章

  1. 源代码安装-非ROOT用户安装软件的方法

    0.    前言 如果你没有sudo权限,则很多程序是无法使用别人编译好的文件安装的. 还有时候,没有对应你的主机配置的安装包,这时候需要我们自己下载最原始的源代码,然后进行编译安装. 这样安装的程序 ...

  2. Linux下非root用户安装软件的一般流程:

    1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar -zxvf xxx.tar.gz即可 3. 切换到解压后的目录, ...

  3. Linux 下非 root 用户安装 theano(配置 GPU)

    非 root 用户,安装 Python 第三方的包,尤其像 theano,存在大量的依赖项,存在的主要问题,是安装各个包时的权限问题.所幸,存在这样一个集成工具,叫 anaconda,其已经内置了许多 ...

  4. Linux环境(服务器)下非root用户安装Python3.6

    Linux环境(服务器)下非root用户安装Python3.6 在管理实验室集群时候,遇到的问题--非root用户在搭建自己环境时候,如何搭建. 注意: root用户的根目录是root,非root用户 ...

  5. Linux 以非root用户安装zsh&配置on my zsh

    此文章参考以下三篇文章,如有侵权请联系 Linux非root用户安装zsh, 并用oh-my-zsh进行配置 在没有sudo权限的Linux服务器下安装oh-my-zsh 不使用root权限安装zsh ...

  6. Linux系统非root用户安装perl模块

    非root权限安装perl 在使用Linux或是unix时,perl是一个非常有用的脚本的语言. 关于perl的模块安装,网上也有很多介绍,一方面可以通过不同套件自带的软件安装工具安装,一方面可以通过 ...

  7. 非root用户安装科学计算包blas、lapack和FFTW

    一.安装FFTW 1.下载安装包 下载地址:http://www.fftw.org/download.html  2.编译安装 tar -zxvf fftw-3.3.10.tar.gz cd fftw ...

  8. perl 下使用非root用户安装模块

    perl下安装模块可以使用cpan命令,但是通常我们不具有root用户权限,所以只能以sudo方式安装模块. 例如需要安装Net::SCP::Expect模块, 执行cpan Net::SCP::Ex ...

  9. zzw_非root用户安装python3.5

    目的:不想改变linux 自带的python,只想要用特定的非root用户运行特定版本的python 1.进入非root用户 2.新建一个python3.5的安装目录 [a4_csbdc@bdc816 ...

随机推荐

  1. 分享一组矢量图标–UX图标字体库

    以下内容转自:http://ux.etao.com/,原文链接:http://ued.alimama.com/posts/219 科技日新月异的今天,市面上各种分辨率.各种显示精度的显示设备层出不穷, ...

  2. could not deduce template argument for 'const std::_Tree<_Traits> &' from 'const std::string'

    VS2008, 写一个简单的demo的时候出现了这个: 1>------ Build started: Project: GetExportTable, Configuration: Relea ...

  3. python中遍历文件的3个方法

    转自: http://www.jb51.net/article/54640.htm 用python进行文件遍历有多种方法,这里列举并说明一下. os.path.walk() 这是一个传统的用法. wa ...

  4. http 中定义的八种请求的介绍

    在http1.1协议中,共定义了8种可以向服务器发起的请求(这些请求也叫做方法或动作),本文对这八种请求做出简要的介绍: 1.PUT:put的本义是推送 这个请求的含义就是推送某个资源到服务器,相当于 ...

  5. linux通过ntp设置系统时间

    1.查看本机时间 date 2.安装ntp并且设置开机启动 sudo yum -y install ntp chkconfig ntp on 3.立即更新系统时间 sudo ntpdate time. ...

  6. 开源镜像源(转自[tanghuimin0713的博客])

    参考: http://blog.csdn.net/longerzone/article/details/8437871 http://www.douban.com/note/375227086/ 1. ...

  7. Ubuntu14.04运行行roscore错误

    错误提示: 网络配置有问题,ping不同自己(ping localhost). vim ~/.bashrc 在底部加入: export ROS_HOSTNAME=localhostexport ROS ...

  8. Introduction to Big Real Mode

    转自Merck Hung merck@olux.org, 洪豪謙 应朋友的要求, 希望我花一点时间整理一下 x86 Big Real Mode 的文章.另外也发现, 身边似乎有一些朋友也准备要开始从事 ...

  9. font-family:“微软雅黑” OR font-family:Microsoft Yahei

    sublime对中文编码支持的不好,可以考虑用后者.

  10. [转]java二维码生成与解析代码实现

    转载地址:点击打开链接 二维码,是一种采用黑白相间的平面几何图形通过相应的编码算法来记录文字.图片.网址等信息的条码图片.如下图 二维码的特点: 1.  高密度编码,信息容量大 可容纳多达1850个大 ...