非root用户安装软件 Posted 2020-08-22 nkwy2012
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了非root用户安装软件相关的知识,希望对你有一定的参考价值。
下面简要说一下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这类文件下面以便登陆的时候自动调用。
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
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
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
以上是关于非root用户安装软件的主要内容,如果未能解决你的问题,请参考以下文章
python 非root 用户安装第三方模块
Linux下非root用户安装软件的一般流程:
[Linux] 非root安装Lefse软件及其数据分析
最近装了ubuntu,安装时注册的用户不是root ,安装某些软件时提示权限问题,请问怎么添加一个root用户呀
linux 普通用户如何安装软件(无root权限,不知道root密码)? 别回答切换到root或者给用户root权限之类的。
linux下非root用户安装软件