Debian 8.2 64位 Nginx PHP MySQL Java Tomcat安装脚本

阅读:316 2019-03-19 14:40:21 来源:开源中国

脚本一键安装好之后的目录结构:

/data

/nginx

/html

/phpmyadmin

html/php文件位置

/tomcat

/tomcat1

/tomcat2

/soft

/nginx

nginx程序/配置文件位置

/php

php程序/配置文件位置

/src

下载的源码文件

以下除了utils.py不需要运行外,其他脚本由上到下依次运行即可

首先要进行编译环境安装:

utils

#coding:utf-8importos__author__='gavin'defapt_install():os.system("apt-get-yinstallgccg++automakeautoconflibtoolmakebuild-essentialpkg-config")ifnotos.path.exists("/data"):os.mkdir("/data")os.mkdir("/data/soft")os.mkdir("/data/soft/src")passifnotos.path.exists("/data/soft"):os.mkdir("/data/soft")os.mkdir("/data/soft/src")passifnotos.path.exists("/data/soft/src"):os.mkdir("/data/soft/src")if__name__=="__main__":pass

mysql安装

#coding:utf-8importos__author__='gavin'defapt_install():os.system("apt-getinstallmysql-servermysql-client")passdefconfig_cha(user,passwd):command='''myslq-u%s-p%s-e"setcharacter_set_client=utf8;setcharacter_set_connection=utf8;setcharacter_set_database=utf8;setcharacter_set_results=utf8;setcharacter_set_server=utf8;"'''%(user,passwd)os.system(command)if__name__=="__main__":apt_install()config_cha("root","xxxx")pass

nginx安装

#coding:utf-8__author__='gavin'importosimportutilsdefapt_prepare():utils.apt_install()os.chdir("/data/soft/src")ifnotos.path.exists("/data/soft/src/pcre-8.38.tar.gz"):os.system("wgetftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz")os.system("tar-zxfpcre-8.38.tar.gz")os.chdir("/data/soft/src/pcre-8.38")os.system("./configure")os.system("make")os.system("makeinstall")os.chdir("/data/soft/src")ifnotos.path.exists("/data/soft/src/zlib-1.2.8.tar.gz"):os.system("wgethttp://zlib.net/zlib-1.2.8.tar.gz")os.system("tar-zxfzlib-1.2.8.tar.gz")os.chdir("/data/soft/src/zlib-1.2.8")os.system("./configure")os.system("make")os.system("makeinstall")os.chdir("/data/soft/src")ifnotos.path.exists("/data/soft/src/openssl-1.0.1s.tar.gz"):os.system("wgethttp://www.openssl.org/source/openssl-1.0.1s.tar.gz")os.system("tar-zxfopenssl-1.0.1s.tar.gz")os.chdir("/data/soft/src/openssl-1.0.1s")#os.system("./config--prefix=/usr/local--openssldir=/usr/local/ssl")os.system("./config")os.system("make")os.system("makeinstall")#os.system("./configshared--prefix=/usr/local--openssldir=/usr/local/ssl")#os.system("makeclean")#os.system("make")#os.system("makeinstall")passdefapt_install():os.chdir("/data/soft/src")ifnotos.path.exists("/data/soft/src/nginx-1.9.9.tar.gz"):os.system("wgethttp://nginx.org/download/nginx-1.9.9.tar.gz")os.system("tar-zxfnginx-1.9.9.tar.gz")os.chdir("/data/soft/src/nginx-1.9.9")os.system("./configure--sbin-path=/data/soft/nginx/nginx""--prefix=/data/nginx""--conf-path=/data/soft/nginx/nginx.conf""--pid-path=/data/soft/nginx/nginx.pid""--error-log-path=/data/soft/nginx/logs/error.log""--http-log-path=/data/soft/nginx/logs/access.log""--with-http_ssl_module""--with-pcre=/data/soft/src/pcre-8.38""--with-zlib=/data/soft/src/zlib-1.2.8""--with-openssl=/data/soft/src/openssl-1.0.1s")os.system("make")os.system("makeinstall")os.system("echo"/data/soft/nginx/nginx">>/etc/rc.local")os.system("/data/soft/nginx/nginx")passdefconfig():newstrs='''#usernobody;worker_processes1;events{worker_connections1024;}http{includemime.types;default_typeapplication/octet-stream;sendfileon;keepalive_timeout65;includevhost/*.conf;server{listen80;server_namelocalhost;location/{roothtml;indexindex.htmlindex.htmindex.php;}error_page500502503504/50x.html;location=/50x.html{roothtml;}location~.php${roothtml;fastcgi_pass127.0.0.1:9000;fastcgi_indexindex.php;fastcgi_paramscript_filename$document_root$fastcgi_script_name;includefastcgi_params;}}}'''ifnotos.path.exists("/data/soft/nginx/nginx.conf.back"):os.system("cp/data/soft/nginx/nginx.conf/data/soft/nginx/nginx.conf.back")passifnotos.path.exists("/data/soft/nginx/vhost"):os.mkdir("/data/soft/nginx/vhost")passfw=file("/data/soft/nginx/nginx.conf",'w')fw.write(newstrs)fw.close()os.system("/data/soft/nginx/nginx-sreload")if__name__=="__main__":apt_prepare()apt_install()config()pass

php安装

#coding:utf-8importosimportutils__author__='gavin'defapt_prepare():utils.apt_install()os.chdir("/data/soft/src")ifnotos.path.exists("/data/soft/src/libxml2-2.9.1.tar.gz")ornotos.path.exists("/data/soft/src/libxml2-2.9.1"):os.system("wgetftp://xmlsoft.org/libxml2/libxml2-2.9.1.tar.gz")os.system("tar-zxflibxml2-2.9.1.tar.gz")passos.chdir("/data/soft/src/libxml2-2.9.1")os.system("./configure")os.system("make")os.system("makeinstall")os.chdir("/data/soft/src")ifnotos.path.exists("/data/soft/src/curl-7.48.0.tar.gz")ornotos.path.exists("/data/soft/src/curl-7.48.0"):os.system("wgethttp://www.execve.net/curl/curl-7.48.0.tar.gz")os.system("tar-zxfcurl-7.48.0.tar.gz")passos.chdir("/data/soft/src/curl-7.48.0")os.system("./configure")os.system("make")os.system("makeinstall")os.system("apt-get-yinstalllibjpeg-devlibpng-devlibmcrypt-dev")#libreadline6passdefapt_install():os.chdir("/data/soft/src")ifnotos.path.exists("/data/soft/src/php-7.0.5.tar.gz")ornotos.path.exists("/data/soft/src/php-7.0.5"):os.system("wgethttp://cn2.php.net/distributions/php-7.0.5.tar.gz")os.system("tar-zxfphp-7.0.5.tar.gz")passos.chdir("/data/soft/src/php-7.0.5")os.system("./configure--prefix=/data/soft/php""--enable-fpm--enable-inline-optimization""--disable-debug--disable-rpath--enable-shared""--enable-opcache""--with-mysql""--with-mysqli""--with-mysql-sock""--enable-pdo""--with-pdo-mysql""--with-gettext""--enable-mbstring""--with-iconv""--with-mcrypt""--with-mhash""--with-openssl""--enable-bcmath""--enable-soap""--with-libxml-dir""--enable-pcntl""--enable-shmop""--enable-sysvmsg""--enable-sysvsem""--enable-sysvshm""--enable-sockets""--with-curl""--with-zlib""--enable-zip""--enable-bz2"#"--with-readline""--with-pear""--with-libdir=/lib/x86_64-linux-gnu""--with-gd""--with-jpeg-dir=/usr/lib""--enable-gd-native-ttf""--enable-xml")os.system("make")os.system("makeinstall")os.system("")passdefapt_config():os.chdir("/data/soft/src/php-7.0.5")os.system("cp-fphp.ini-development/data/soft/php/lib/php.ini")os.system("cp-f/data/soft/php/etc/php-fpm.conf.default/data/soft/php/etc/php-fpm.conf")os.system("cp-f/data/soft/php/etc/php-fpm.d/www.conf.default/data/soft/php/etc/php-fpm.d/www.conf")os.system("cp-f-r./sapi/fpm/php-fpm/etc/init.d/php-fpm")os.system("echo"/etc/init.d/php-fpm">>/etc/rc.local")strs=open("/data/soft/php/etc/php-fpm.d/www.conf").read()fw=file("/data/soft/php/etc/php-fpm.d/www.conf",'w')strs=strs.replace("user=nobody","user=www-data")strs=strs.replace("group=nobody","group=www-data")fw.write(strs)fw.close()os.system("/etc/init.d/php-fpm")os.system("echo"">/data/nginx/html/index.php")defphpmyadmin():os.chdir("/data/nginx/html")ifnotos.path.exists("/data/nginx/html/phpmyadmin-4.6.0-all-languages.tar.gz")ornotos.path.exists("/data/nginx/html/phpmyadmin-4.6.0-all-languages")ornotos.path.exists("/data/nginx/html/phpmyadmin"):os.system("wgethttps://files.phpmyadmin.net/phpmyadmin/4.6.0/phpmyadmin-4.6.0-all-languages.tar.gz")os.system("tar-zxfphpmyadmin-4.6.0-all-languages.tar.gz")passos.system("cp-r-fphpmyadmin-4.6.0-all-languagesphpmyadmin")os.chdir("/data/nginx/html/phpmyadmin")os.system("cpconfig.sample.inc.phpconfig.inc.php")os.chdir("/data/nginx/html")os.system("rmphpmyadmin-4.6.0-all-languages.tar.gz")if__name__=="__main__":apt_prepare()apt_install()apt_config()phpmyadmin()pass

java环境和tomcat安装:

#coding:utf-8importos__author__='gavin'defapt_install():os.system("apt-get-yinstallopenjdk-7-jdk")os.system("echo"exportjava_home=/usr/lib/jvm/java-7-openjdk-amd64">>/etc/profile")os.system("/bin/bash;source/etc/profile")passdeftomcat_install(url,port=8080,shudownport=8005,redirectport=8443,connectorport=8009):os.chdir("/data/soft/src")ifnotos.path.exists("/data/soft/src/apache-tomcat-7.0.69.tar.gz")ornotos.path.exists("/data/soft/src/apache-tomcat-7.0.69"):os.system("wgethttp://mirrors.cnnic.cn/apache/tomcat/tomcat-7/v7.0.69/bin/apache-tomcat-7.0.69.tar.gz")os.system("tar-zxfapache-tomcat-7.0.69.tar.gz")passifnotos.path.exists("/data/tomcat"):os.mkdir("/data/tomcat")passos.chdir("/data/tomcat")os.system("cp-f-r/data/soft/src/apache-tomcat-7.0.69%s"%url)os.chdir("/data/tomcat/%s"%url)ifnotos.path.exists("/data/tomcat/%s/conf/server.xml.back"):os.system("cp/data/tomcat/%s/conf/server.xml/data/tomcat/%s/conf/server.xml.back"%(url,url))passnewstrs=open("/data/tomcat/%s/conf/server.xml.back"%url).read()newstrs=newstrs.replace("8080",str(port))newstrs=newstrs.replace("8005",str(shudownport))newstrs=newstrs.replace("8443",str(redirectport))newstrs=newstrs.replace("8009",str(connectorport))fw=file("/data/tomcat/%s/conf/server.xml"%url,'w')fw.write(newstrs)fw.close()os.system("/data/tomcat/%s/bin/startup.sh"%url)vhost='''server{listen80;server_name127.0.0.1;location/{proxy_passhttp://localhost:8080;proxy_set_headerhost$host;proxy_redirectoff;proxy_set_headerx-real-ip$remote_addr;proxy_set_headerx-forwarded-for$proxy_add_x_forwarded_for;proxy_connect_timeout60;proxy_read_timeout600;proxy_send_timeout600;}}'''vhost=vhost.replace("127.0.0.1",url)fw=file("/data/soft/nginx/vhost/%s.conf"%url,'w')fw.write(vhost)fw.close()os.system("/data/soft/nginx/nginx-sreload")if__name__=="__main__":apt_install()tomcat_install("你绑定的域名")pass

最后,可以创建单个用户,用户可以在用户目录中直接上传html/php代码进行执行

#coding:utf-8importosimportsys__author__='gavin'definit_group():passdefbuild(username):os.system("groupadd%s"%username)#默认密码是123456os.system("useradd-d/home/%s-m-g%s-s/bin/bash-p'$6$lawpeip.$zbwtoffezszn9jepgpuj2zn23yyvmy6yefkjvvcqn9wlc6ip0u5qha.ibe/o.dl4l38duqxfcn2jinqg.22ab1'%s"%(username,username,username))os.system("mkdir/data/nginx/html/%s"%username)os.chdir("/data/nginx/html/%s"%username)os.system("echo"">index.php"%username)os.chdir("/data/nginx/html")os.system("ln-s/data/nginx/html/%s/home/%s/www"%(username,username))os.system("chmod775-r/data/nginx/html/%s"%username)os.system("chown-r%s:%s/data/nginx/html/%s"%(username,username,username))passdefdelete_user(username):ifos.path.exists("/data/nginx/html/%s"%username):os.system("rm-rf/data/nginx/html/%s"%username)passifos.path.exists("/home/%s"%username):os.system("rm-rf/home/%s"%username)passos.system("userdel%s"%username)if__name__=="__main__":#init_group()iflen(sys.argv)==3:ifsys.argv[1]=="add":build(sys.argv[2])passifsys.argv[1]=="del":delete_user(sys.argv[2])passpasselse:print"格式:"print"taddxxx"print"tdelxxx"pass#最后访问网址为ip:80/username

下一篇: redis的hash表介绍
相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>
推荐商标

{{ v.name }}

{{ v.cls }}类

立即购买 联系客服