基础服务——LAMP群集

 

利用脚本安装httpd

 

[root@localhost ~]# vim 1.sh

#!/bin/bash

 

cd /media/dvd/Packages/

rpm -ivh ncurses-devel-5.9-13.20130511.el7.x86_64.rpm

yum -y install gcc gcc-c++

cd /home/~

tar zxf httpd-2.2.17.tar.gz -C /usr/src

cd /usr/src/httpd-2.2.17/

./configure --prefix=/usr/local/httpd --enable-so --enable-rewrit --enable-charset-list --enable-cgi

make && make install

ln -s /usr/local/httpd/bin/* /usr/local/bin/

ls -l /usr/local/bin/httpd /usr/local/bin//apachectl

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

echo "#chkconfig:35 25 25" >> /etc/init.d/httpd

echo "#description:haha" >> /etc/init.d/httpd

chkconfig --add httpd

chkconfig --list httpd

/usr/local/httpd/bin//apachectl -t

/etc/init.d/httpd start

netstat -pant | grep httpd

[root@localhost ~]# chmod +x 1.sh

[root@localhost ~]# . 1.sh

 

利用脚本安装MySQL

[root@localhost ~]# vim 2.sh

#!/bin/bash

 

cd /media/dvd/Packages/

rpm -ivh ncurses-devel-5.9-13.20130511.el7.x86_64.rpm

yum -y install gcc gcc-c++

cd /home/~/

tar zxvf cmake-2.8.6.tar.gz -C /usr/

cd /usr/cmake-2.8.6/

./configure

gmake && gmake install -j 4

groupadd mysql

useradd -M -s /sbin/nologin mysql -g mysql

cd /home/~/

tar zxvf mysql-5.5.22.tar.gz -C /usr/src/

cd /usr/src/mysql-5.5.22/

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSET=all

make -j 4 && make install -j 4

chown -R mysql:mysql /usr/local/mysql

rm -fr /etc/my.cnf

cd /usr/src/mysql-5.5.22/

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

/usr/local/mysql/scripts/mysql_install_db  --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

echo "PATH"=$PATH:/usr/local/mysql/bin/ >> /etc/profile

. /etc/profile

cp -fr support-files/mysql.server /etc/rc.d/init.d/mysqld

chmod +x /etc/rc.d/init.d/mysqld

chkconfig --add mysqld

systemctl restart mysqld

netstat -pant | grep mysqld

[root@localhost ~]# chmod +x 2.sh

[root@localhost ~]# . 2.sh

 

安装PHP

[root@localhost ~]# cd /media/dvd/Packages/

[root@localhost Packages]# rpm -ivh zlib-devel-1.2.7-17.el7.x86_64.rpm

warning: zlib-devel-1.2.7-17.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY

Preparing...                          ################################# [100%]

Updating / installing...

   1:zlib-devel-1.2.7-17.el7          ################################# [100%]

[root@localhost Packages]# rpm -ivh xz-devel-5.2.2-1.el7.x86_64.rpm

warning: xz-devel-5.2.2-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY

Preparing...                          ################################# [100%]

Updating / installing...

   1:xz-devel-5.2.2-1.el7             ################################# [100%]

[root@localhost Packages]# rpm -ivh libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm

warning: libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY

Preparing...                          ################################# [100%]

Updating / installing...

   1:libxml2-devel-2.9.1-6.el7_2.3    ################################# [100%]

 

安装libmcrypt

[root@localhost ~]# tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/    解压源码包

[root@localhost ~]# cd /usr/src/libmcrypt-2.5.8/

[root@localhost libmcrypt-2.5.8]# ./configure                配置

[root@localhost libmcrypt-2.5.8]# make && make install       编译安装

[root@localhost libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/src/    建立软连接

 

安装mhash

[root@localhost ~]# tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/    解压源码包

[root@localhost ~]# cd /usr/src/mhash-0.9.9.9/

[root@localhost mhash-0.9.9.9]# ./configure                 配置

[root@localhost mhash-0.9.9.9]# make && make install         编译安装

[root@localhost mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.* /usr/lib       建立软连接

 

安装mcrypt

[root@localhost ~]# tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/      解压源码包

[root@localhost ~]# cd /usr/src/mcrypt-2.6.8/          

添加环境变量,以解决configure报错:

[root@localhost mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

[root@localhost mcrypt-2.6.8]# ./configure                  配置

[root@localhost mcrypt-2.6.8]# make && make install        编译安装

 

 

安装PHP

 

[root@localhost ~]# tar zxf php-5.3.28.tar.gz -C /usr/src/              解压源码包

[root@localhost ~]# cd /usr/src/php-5.3.28/

[root@localhost php-5.3.28]# ./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql/ --with-config-file-path=/usr/local/php5 --enable-mbstring               配置

 

以上参数详细解释

--prefix                            指定将PHP程序安装到哪个目录下,如/usr/local/php5.

--with-mcrypt      加载数据加密等扩展工具支持

--with-apxs2        设置apache http server提供的apxs模块支持程序的文件位置

--with-mysql        设置MySQL数据库服务程序的安装位置。

--with-config-file-path         设置php的配置文件php.ini将要存放的位置。

--enable-mbstring       启用多字节字符串功能,以便支持中文等代码。

[root@localhost php-5.3.28]# make && make install   编译安装

[root@localhost php-5.3.28]# cp php.ini-development /usr/local/php5/php.ini 复制配置文件

[root@localhost php-5.3.28]# vim /usr/local/php5/php.ini              配置

226 short_open_tag = On                           允许识别PHP短语法标记

784 default_charset = "utf-8";                  设置默认字符集为utf-8,配置文件内的784

882 file_uploads = On                                  允许通过PHP网页上传文件

891 upload_max_filesize = 2M                  允许上传的文件大小限制

740 post_max_size = 8M                            每次通过表单post提交的数据量限制

 

添加ZendGuardLoader优化模块:

[root@localhost ~]# tar zxf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz -C /usr/src/

[root@localhost ~]# cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/

[root@localhost php-5.3.x]# cp ZendGuardLoader.so /usr/local/php5/lib/php/           复制文件

[root@localhost php-5.3.x]# vim /usr/local/php5/php.ini                配置PHP

227 zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so

228 zend_loader.enable=1

[root@localhost php-5.3.x]# vim /usr/local/httpd/conf/httpd.conf                 配置httpd

53 LoadModule php5_module        modules/libphp5.so

54 AddType application/x-httpd-php .php

167 <IfModule dir_module>

168     DirectoryIndex index.html index.php

169 </IfModule>

 

[root@localhost php-5.3.x]# vim /usr/local/httpd/htdocs/index.php              编写php测试网页

<?php

phpinfo();

?>

[root@localhost php-5.3.x]# systemctl restart httpd              重启httpd

[root@localhost php-5.3.x]# systemctl restart mysqld           重启MySQL

[root@localhost php-5.3.x]# netstat -anpt | grep httpd         查看httpd启动情况

tcp6       0      0 :::80                   :::*                    LISTEN      91936/httpd        

[root@localhost php-5.3.x]# netstat -anpt | grep mysqld      查看MySQL启动情况

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      101096/mysqld  

[root@localhost php-5.3.x]# firefox 192.168.0.10/index.php         访问测试网页

Ubuntu下libxml2的交叉编译 2014-12-26 13:10 本站整理 浏览(587) Ubuntu下libxml2的交叉编译,有需要的朋友可以参考下。 环境为Ubuntu 14.04 LTS 64位 英文版本。 使用的交叉编译工具是arm-linux-gcc-4.3.2.tgz。 一、准备libxml2库 libxml2是一个跨平台的xml文件操作库。 项目地址:http://www.xmlsoft.org/ 我使用的是最新版本libxml2-2.9.2.tar.gz 二、安装 我在在官网提供的网址https://git.gnome.org/browse/libxml2/上下载了几个版本的.tar.gz在Ubuntu下解压以后都没有看到configure文件,然后在ftp://xmlsoft.org/libxml2/下载的版本里却有configure文件……折腾一早上,简直坑爹,希望朋友们少走弯路…… 在解压文件夹下 rootroot@rootroot-virtual-machine:~/wyb$ cd libxml2-2.9.2/ rootroot@rootroot-virtual-machine:~/wyb/libxml2-2.9.2$ ./configure --prefix=/home/rootroot/wyb/libxml2-2.9.2/install CC=arm-linux-gcc LD=arm-linux-ld --enable-shared --enable-static --host=arm-linux --with-python=/home/rootroot/wyb/libxml2-2.9.2/python rootroot@rootroot-virtual-machine:~/wyb/libxml2-2.9.2$ make rootroot@rootroot-virtual-machine:~/wyb/libxml2-2.9.2$ make install 注意修改自己的交叉编译工具。如果不指定python路径(--with-python=/home/rootroot/wyb/libxml2-2.9.2/python),make之后会提示: rootroot@rootroot-virtual-machine:~/wyb/libxml2-2.9.2$ make make[4]: Entering directory `/home/rootroot/wyb/libxml2-2.9.2/python' CC libxml.lo cc1: warning: include location "/usr/include/python2.7" is unsafe for cross-compilation In file included from /usr/include/python2.7/Python.h:8, from libxml.c:14: /usr/include/python2.7/pyconfig.h:15:52: error: arm-linux-gnueabi/python2.7/pyconfig.h: No such file or directory In file included from /usr/include/python2.7/Python.h:77, from libxml.c:14: /usr/include/python2.7/pymath.h:18: warning: redundant redeclaration of 'copysign' /usr/include/python2.7/pymath.h:26: warning: redundant redeclaration of 'hypot' libxml.c: In function 'xmlPythonFileReadRaw': libxml.c:297: error: expected '(' before numeric constant libxml.c: In function 'xmlPythonFileRead': libxml.c:362: error: expected '(' before numeric constant make[4]: *** [libxml.lo] Error 1 make[4]: Leaving directory `/home/rootroot/wyb/libxml2-2.9.2/python' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/rootroot/wyb/libxml2-2.9.2/python' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/rootroot/wyb/libxml2-2.9.2/python' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/rootroot/wyb/libxml2-2.9.2' make: *** [all] Error 2 rootroot@rootroot-virtual-machine:~/wyb/libxml2-2.9.2$ 参考资料: http://blog.csdn.net/q1302182594/article/details/44975527 Linux中交叉编译libxml2 三、测试 随便找一个测试程序: // test.c #include #include #include int main(int argc, char **argv) { xmlDocPtr doc = NULL; xmlNodePtr root_node = NULL, node = NULL, node1 = NULL; doc = xmlNewDoc(BAD_CAST "1.0"); root_node = xmlNewNode(NULL, BAD_CAST "root"); xmlDocSetRootElement(doc, root_node); xmlNewChild(root_node, NULL, BAD_CAST "node1",BAD_CAST "content of node1"); node=xmlNewChild(root_node, NULL, BAD_CAST "node3",BAD_CAST"node has attributes"); xmlNewProp(node, BAD_CAST "attribute", BAD_CAST "yes"); node = xmlNewNode(NULL, BAD_CAST "node4"); node1 = xmlNewText(BAD_CAST"other way to create content"); xmlAddChild(node, node1); xmlAddChild(root_node, node); xmlSaveFormatFileEnc(argc > 1 ? argv[1] : "-", doc, "UTF-8", 1); xmlFreeDoc(doc); xmlCleanupParser(); xmlMemoryDump(); return(0); } 编译: rootroot@rootroot-virtual-machine:~/wyb$ arm-linux-gcc -I /home/rootroot/wyb/libxml2-2.9.2/install/include/libxml2 -L /home/rootroot/wyb/libxml2-2.9.2/install/lib -lxml2 test.c -o test rootroot@rootroot-virtual-machine:~/wyb$ file test test: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped rootroot@rootroot-virtual-machine:~/wyb$
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值