├── .DS_Store
├── DB
└── Adminer
│ └── index.php
├── LICENSE
├── home
└── demo
│ ├── ssl
│ ├── server.crt
│ └── server.key
│ └── public_html
│ ├── index.html
│ ├── ocp.php
│ └── tz.php
├── keys
├── RPM-GPG-KEY-remi
├── nginx_signing.key
├── RPM-GPG-KEY-litespeed
└── RPM-GPG-KEY-mysql
├── conf
├── vhosts
│ ├── LLStack-demo.xml.bak
│ └── LLStack-demo.xml
├── llstack.xml
└── httpd_config.xml
├── Readme.md
├── vhost.sh
├── install-appnode.sh
└── install.sh
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ivmm/LLStack/HEAD/.DS_Store
--------------------------------------------------------------------------------
/DB/Adminer/index.php:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ivmm/LLStack/HEAD/DB/Adminer/index.php
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 MaiCong
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/home/demo/ssl/server.crt:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIIDmjCCAoICCQDXpBwgyLMg8TANBgkqhkiG9w0BAQsFADCBjjELMAkGA1UEBhMC
3 | Q04xEDAOBgNVBAgMB0JlaWppbmcxEDAOBgNVBAcMB0JlaWppbmcxEDAOBgNVBAoM
4 | B0xMU3RhY2sxDTALBgNVBAsMBERlbW8xGDAWBgNVBAMMD3d3dy5sbHN0YWNrLmNv
5 | bTEgMB4GCSqGSIb3DQEJARYRYWRtaW5AbGxzdGFjay5jb20wHhcNMTkwMjA4MDgy
6 | NzA2WhcNMjkwMjA1MDgyNzA2WjCBjjELMAkGA1UEBhMCQ04xEDAOBgNVBAgMB0Jl
7 | aWppbmcxEDAOBgNVBAcMB0JlaWppbmcxEDAOBgNVBAoMB0xMU3RhY2sxDTALBgNV
8 | BAsMBERlbW8xGDAWBgNVBAMMD3d3dy5sbHN0YWNrLmNvbTEgMB4GCSqGSIb3DQEJ
9 | ARYRYWRtaW5AbGxzdGFjay5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
10 | AoIBAQDMktA3jM5VaXGUeuafDptaEKxgW4cYY4MRCOKFBjQAgxaAyBcFoBwF2Dob
11 | 8P/rEVap7URwlN8PmyMQ+EWj70SeIFT9VyxH7hoHm8qFSeUZHBBD+rUtNNA9oxNE
12 | mciyrKC9AYKg6UYJ/pQ7QnWssVmxzLy1x7X4uJcMWS2F9Wvf77uT2Z2YlJ3Iiwig
13 | c8yD0bxK3JsWaYRWIfV9QOljNhhShBs2D1KhgBMH+3ToV3SobgQ06KmpXVqEOp6j
14 | 47M+0hS23t1Kv5KTQpREDpkzfOdQ/rSQu971lzNbmjcHvvPJRcUfCGHTuVik4pMI
15 | k/Ouj2qSr1kfKy0v0Lygk/LZjTGfAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAMbd
16 | vmuAcsPzw+i8u42mKRNAKl+zC+4CWqvDuVfi9b8uDw4kmHezbRW3vUjU4X2vIyQA
17 | dIvD+0SzYWcfC25W4NIREOmDcEGuHmKrvemB4LfcKx7Pa1zZCjWgGdvJ7eELmXC3
18 | +vyEWM+ZbQTCbgKIPZSuum5UA7BkwTmN5d5Wgq8kINmdnLbKlkd953Xf4OcU2gYj
19 | MnnjyUGwkGaD0HsfT7bZ4JRXbBaPJBNfyFKvlwPQB0mB4RuG6eUPLoioSKvIDOrW
20 | a/3lA8BMuXB+tRQf5vr3p0bOZNkY0JVD0VDxzwjflOL6WY61fP3OCe+M5yl35fWP
21 | +IAXXHcZlXjK31X9hHA=
22 | -----END CERTIFICATE-----
23 |
--------------------------------------------------------------------------------
/keys/RPM-GPG-KEY-remi:
--------------------------------------------------------------------------------
1 | -----BEGIN PGP PUBLIC KEY BLOCK-----
2 | Version: GnuPG v1.4.7 (GNU/Linux)
3 |
4 | mQGiBEJny1wRBACRnbQgZ6qLmJSuGvi/EwrRL6aW610BbdpLQRL3dnwy5wI5t9T3
5 | /JEiEJ7GTvAwfiisEHifMfk2sRlWRf2EDQFttHyrrYXfY5L6UAF2IxixK5FL7PWA
6 | /2a7tkw1IbCbt4IGG0aZJ6/xgQejrOLi4ewniqWuXCc+tLuWBZrGpE2QfwCggZ+L
7 | 0e6KPTHMP97T4xV81e3Ba5MD/3NwOQh0pVvZlW66Em8IJnBgM+eQh7pl4xq7nVOh
8 | dEMJwVU0wDRKkXqQVghOxALOSAMapj5mDppEDzGLZHZNSRcvGEs2iPwo9vmY+Qhp
9 | AyEBzE4blNR8pwPtAwL0W3cBKUx7ZhqmHr2FbNGYNO/hP4tO2ochCn5CxSwAfN1B
10 | Qs5pBACOkTZMNC7CLsSUT5P4+64t04x/STlAFczEBcJBLF1T16oItDITJmAsPxbY
11 | iee6JRfXmZKqmDP04fRdboWMcRjfDfCciSdIeGqP7vMcO25bDZB6x6++fOcmQpyD
12 | 1Fag3ZUq2yojgXWqVrgFHs/HB3QE7UQkykNp1fjQGbKK+5mWTrQkUmVtaSBDb2xs
13 | ZXQgPFJQTVNARmFtaWxsZUNvbGxldC5jb20+iGAEExECACAFAkZ+MYoCGwMGCwkI
14 | BwMCBBUCCAMEFgIDAQIeAQIXgAAKCRAATm9HAPl/Vv/UAJ9EL8ioMTsz/2EPbNuQ
15 | MP5Xx/qPLACeK5rk2hb8VFubnEsbVxnxfxatGZ25AQ0EQmfLXRAEANwGvY+mIZzj
16 | C1L5Nm2LbSGZNTN3NMbPFoqlMfmym8XFDXbdqjAHutGYEZH/PxRI6GC8YW5YK4E0
17 | HoBAH0b0F97JQEkKquahCakj0P5mGuH6Q8gDOfi6pHimnsSAGf+D+6ZwAn8bHnAa
18 | o+HVmEITYi6s+Csrs+saYUcjhu9zhyBfAAMFA/9Rmfj9/URdHfD1u0RXuvFCaeOw
19 | CYfH2/nvkx+bAcSIcbVm+tShA66ybdZ/gNnkFQKyGD9O8unSXqiELGcP8pcHTHsv
20 | JzdD1k8DhdFNhux/WPRwbo/es6QcpIPa2JPjBCzfOTn9GXVdT4pn5tLG2gHayudK
21 | 8Sj1OI2vqGLMQzhxw4hJBBgRAgAJBQJCZ8tdAhsMAAoJEABOb0cA+X9WcSAAn11i
22 | gC5ns/82kSprzBOU0BNwUeXZAJ0cvNmY7rvbyiJydyLsSxh/la6HKw==
23 | =6Rbg
24 | -----END PGP PUBLIC KEY BLOCK-----
25 |
--------------------------------------------------------------------------------
/keys/nginx_signing.key:
--------------------------------------------------------------------------------
1 | -----BEGIN PGP PUBLIC KEY BLOCK-----
2 | Version: GnuPG v2.0.22 (GNU/Linux)
3 |
4 | mQENBE5OMmIBCAD+FPYKGriGGf7NqwKfWC83cBV01gabgVWQmZbMcFzeW+hMsgxH
5 | W6iimD0RsfZ9oEbfJCPG0CRSZ7ppq5pKamYs2+EJ8Q2ysOFHHwpGrA2C8zyNAs4I
6 | QxnZZIbETgcSwFtDun0XiqPwPZgyuXVm9PAbLZRbfBzm8wR/3SWygqZBBLdQk5TE
7 | fDR+Eny/M1RVR4xClECONF9UBB2ejFdI1LD45APbP2hsN/piFByU1t7yK2gpFyRt
8 | 97WzGHn9MV5/TL7AmRPM4pcr3JacmtCnxXeCZ8nLqedoSuHFuhwyDnlAbu8I16O5
9 | XRrfzhrHRJFM1JnIiGmzZi6zBvH0ItfyX6ttABEBAAG0KW5naW54IHNpZ25pbmcg
10 | a2V5IDxzaWduaW5nLWtleUBuZ2lueC5jb20+iQE+BBMBAgAoAhsDBgsJCAcDAgYV
11 | CAIJCgsEFgIDAQIeAQIXgAUCV2K1+AUJGB4fQQAKCRCr9b2Ce9m/YloaB/9XGrol
12 | kocm7l/tsVjaBQCteXKuwsm4XhCuAQ6YAwA1L1UheGOG/aa2xJvrXE8X32tgcTjr
13 | KoYoXWcdxaFjlXGTt6jV85qRguUzvMOxxSEM2Dn115etN9piPl0Zz+4rkx8+2vJG
14 | F+eMlruPXg/zd88NvyLq5gGHEsFRBMVufYmHtNfcp4okC1klWiRIRSdp4QY1wdrN
15 | 1O+/oCTl8Bzy6hcHjLIq3aoumcLxMjtBoclc/5OTioLDwSDfVx7rWyfRhcBzVbwD
16 | oe/PD08AoAA6fxXvWjSxy+dGhEaXoTHjkCbz/l6NxrK3JFyauDgU4K4MytsZ1HDi
17 | MgMW8hZXxszoICTTiQEcBBABAgAGBQJOTkelAAoJEKZP1bF62zmo79oH/1XDb29S
18 | YtWp+MTJTPFEwlWRiyRuDXy3wBd/BpwBRIWfWzMs1gnCjNjk0EVBVGa2grvy9Jtx
19 | JKMd6l/PWXVucSt+U/+GO8rBkw14SdhqxaS2l14v6gyMeUrSbY3XfToGfwHC4sa/
20 | Thn8X4jFaQ2XN5dAIzJGU1s5JA0tjEzUwCnmrKmyMlXZaoQVrmORGjCuH0I0aAFk
21 | RS0UtnB9HPpxhGVbs24xXZQnZDNbUQeulFxS4uP3OLDBAeCHl+v4t/uotIad8v6J
22 | SO93vc1evIje6lguE81HHmJn9noxPItvOvSMb2yPsE8mH4cJHRTFNSEhPW6ghmlf
23 | Wa9ZwiVX5igxcvaIRgQQEQIABgUCTk5b0gAKCRDs8OkLLBcgg1G+AKCnacLb/+W6
24 | cflirUIExgZdUJqoogCeNPVwXiHEIVqithAM1pdY/gcaQZmIRgQQEQIABgUCTk5f
25 | YQAKCRCpN2E5pSTFPnNWAJ9gUozyiS+9jf2rJvqmJSeWuCgVRwCcCUFhXRCpQO2Y
26 | Va3l3WuB+rgKjsQ=
27 | =EWWI
28 | -----END PGP PUBLIC KEY BLOCK-----
29 |
--------------------------------------------------------------------------------
/home/demo/ssl/server.key:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIIEpAIBAAKCAQEAzJLQN4zOVWlxlHrmnw6bWhCsYFuHGGODEQjihQY0AIMWgMgX
3 | BaAcBdg6G/D/6xFWqe1EcJTfD5sjEPhFo+9EniBU/VcsR+4aB5vKhUnlGRwQQ/q1
4 | LTTQPaMTRJnIsqygvQGCoOlGCf6UO0J1rLFZscy8tce1+LiXDFkthfVr3++7k9md
5 | mJSdyIsIoHPMg9G8StybFmmEViH1fUDpYzYYUoQbNg9SoYATB/t06Fd0qG4ENOip
6 | qV1ahDqeo+OzPtIUtt7dSr+Sk0KURA6ZM3znUP60kLve9ZczW5o3B77zyUXFHwhh
7 | 07lYpOKTCJPzro9qkq9ZHystL9C8oJPy2Y0xnwIDAQABAoIBAQC45HgLvNc/mu1s
8 | pSeK2kjOPgONkyumf0oWO1F/qPuW+uN7wVwNWYf6QFNErayfaCxLqIYSunpgQHaQ
9 | /9LxN29s+wvVbNQ4rpoYBlYj4YWODC8nQZA+K12KV7kyZ0tdMWiVaqgFhtAmeFDA
10 | vnBchG3spH5qTPXKtgrOvkrGp+m3mfTQUZ5A7p9wafAxpA9Y0dOmryr8JJv8toya
11 | p88DSR4ve6C+ZlShloKUAwb5S9blyqhVXDWnRjKNTPQGAKanV1h4Ih4g+qEbhzT4
12 | P4zAhuscQeMkOa9mXnzBcn+mBX+rg3730VxK/fKnsaS7Clyv7QKp8wQiYshp3wzA
13 | My1aMpQBAoGBAPz0uceL7gToK5NGFSe7t1fWywWZnRQwIPBhZcqMbgTHJaXmXY9N
14 | X7gj8tuWH7sCslrdVwJGDsTdWn35jxBXwiWtG39k5LnrURQYViE09TL+rHG7GcFD
15 | OJsjlRCI2ndwhvbfv0h+C0n4iHC/0JIKUdGSQDTibb2jpqXVrJS4yf+RAoGBAM8J
16 | CYGaoggTpJuLPdyIED4JkA4te7PpWM1vt8+ubk+ZpBfYB/tyFxIY+spL6abmc9Ik
17 | PRpNnHnoKC2VfucNPiDCss/8Jy5O+mtKDwZyV/B4THR1hqWmI4aEKNP18x8Odm10
18 | djzBlOVvNAv2aEZroez9tnICe/iwpPF0MA6Lq+YvAoGAL1vqRG/wWj7VmbcvUscU
19 | Zn+ydxPxkswH/rldg3STTJW0eMEOlzvXRfSFDZOn0S2KEvUJy0UukrEWtis5G8gy
20 | czdbxJgxMpXaEjcUORdfKPMBejGbetGJEZKx3+yfamlI+4OcnofquSis8t8Wv6Dq
21 | /J+zIbOa9DxlgPrmWtnWB+ECgYBD6qgGry52TdNS/1OU08HYSBTMwdjxxRvPkNWQ
22 | uJ0RWcp90+2Sa/PriOxEjrCggrr99cthpJIvX5xGj+Mocqyt3JECL6q+w0PdDFdv
23 | evUkOqKCFcfM8Xp390TZe7Z8uqbY8zqSZcKtnVRKlFPSvh5Je1VtgykeBPynBMF7
24 | FBCZGwKBgQCdlcX07MCX63hwN19osG0v71pyfeuCw3v7twPIHoAOgMhW05jrXtrk
25 | tYigNHrou6df45xZ2opLl99MRuUNdpUHj2K/T0ZfO9moPQ6ORv4cO/2QjBqI96IX
26 | qcqaDAz+ZcArbOa1oYpQ6hKpL8Kj3v4v5mdrSek44sYfWZIzUqAfCQ==
27 | -----END RSA PRIVATE KEY-----
28 |
--------------------------------------------------------------------------------
/keys/RPM-GPG-KEY-litespeed:
--------------------------------------------------------------------------------
1 | -----BEGIN PGP PUBLIC KEY BLOCK-----
2 | Version: GnuPG v1.4.5 (GNU/Linux)
3 | Comment: LiteSpeed Tech GnuPG Key
4 | Comment: http://www.litespeedtech.com
5 |
6 | mQGiBE9XwX4RBACjx8WNDIBaeguJkv3+p1VHj43N2efnHQyfSrRvXqMVe/g6B5tS
7 | G6HPQ0oOUUVLhiaq81EHoyCb7G3r1gplqYIJFBnc3vYEjlouHg91zS1rk5tLnuDt
8 | xH7Qa6jZKg87V+HcTN/GXgeIT/WQMllYBwPSJrSAYkVJsnLMIaXRpqXw4wCgk9QN
9 | VhVGpzjAnMzsyEN9dK7iGFcD/2vk6yWFCA1pC3TFZYRz31DCPzGiG0ol8UzPBlTt
10 | ObomXMBkMgbPpVXFdd87FVGu3ggqQ1/Fx4PvZ2doato+BinRnLlskMWtmQ356F/g
11 | 7Nj0l6zNYdoUsR7Sj6lY92mQA3gDmy9+BneFmVYCvJy+M4pyq2/uhpdNjuVZ9lo9
12 | RWiMBACcNXbMs8fIZOOdCdzd2483nQIU5DAKkFXVtt4oOJmlOYky1ViqPitS5Grv
13 | IErnwuEfpnTZNQ7vGusZM3MA/EgsyW/jfYtS+b4jbZpwP2IhpUMuk1DLfZ2kbY2E
14 | WSEuyL+Ltv5M+jAZJ4JxxWYsFKCDVCp1f/EUzg9qmo4OhLYYoLRCTGl0ZVNwZWVk
15 | IFRlY2ggSW5jLiAoTGl0ZVNwZWVkIEdudVBHIEtleSkgPGluZm9AbGl0ZXNwZWVk
16 | dGVjaC5jb20+iGAEExECACAFAk9XwX4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX
17 | gAAKCRA/b2JwgwhNDnAVAJ9If0Ddukq8r+AIBfxoogtVfhkbmQCePlj2WQGDT3Zd
18 | t0uRPR2GmHJUpvm5Ag0ET1fBgRAIAJd9QDjr1ew5nq5U7QcD/yvttY5Q8qaAZ2IC
19 | VzB9q4JaBHSLAlNbI0Wnjnpy1nLdrIq8o7vieTVmKMriXirvM5hb/QVZOwCXZkxV
20 | tZ2LdVMlw1jBcgY/OejGRTfIpze/ZvU3FblCaKxnfvoumIJoikL2DZW5CjY2DAqM
21 | YPT4XrwmQwTGDAenjWNo5R+qREn2yVmnxXqQSlUCOPEpMRayOpylVbTfIuDOJLlB
22 | 9M5+YbCt55CYt/WiRjAU72J99wFSFHozEWxN3788Wqk+nZ1iZObPH+zIFmQ+Hxu7
23 | X0t7ck8urnKYNbHAcltYJFMfeEN0u0ryjxmhP0uWcBzvYdr52w8AAwUIAIM10iTF
24 | wDlLGvVeAU4nSIxYIwAT5IAafPWlz10u3CTdtWuRBX3dixTapkwB1dsctzUI7rSj
25 | fYN7qbwCh91v9R1+dO4GRk32vDTKRWMezIWEi2bDhmWkG079RpA+FOG06pwAn36Y
26 | 5fP4RkFqR8fGZDHA+bmFiwm2LZ98drnxJqMOFrhHRHh2uHAubwPwLuj7PEc70bHw
27 | sK8Z/96+rE99N+7MS/apAYXBGxaN0iBK7j7mwwpfd0RpvckInS7BrjDYGpKzt8ZN
28 | TWKaMAjBIwc1cQyxoVGE1xy5v9tw8pR9MTSzH38miUQiZPdbSFENZaDi1Cbyf3gC
29 | A6fmRzbm1TFO3rKISQQYEQIACQUCT1fBgQIbDAAKCRA/b2JwgwhNDmoKAJ9PDNxj
30 | 42siG97x5czm0lMAT0cbOACeM59kD5QIVVCUCVES1L3pgh04smw=
31 | =BTpD
32 | -----END PGP PUBLIC KEY BLOCK-----
33 |
--------------------------------------------------------------------------------
/conf/vhosts/LLStack-demo.xml.bak:
--------------------------------------------------------------------------------
1 |
2 |
3 | $VH_ROOT/public_html
4 | demo@llstack.com
5 | 1
6 |
7 |
8 | 1
9 | $VH_ROOT/logs/$VH_ROOT_errors.log
10 | ERROR
11 | 100M
12 |
13 |
14 | 0
15 | $VH_ROOT/logs/$VH_NAME.access.log
16 | 3
17 | 100M
18 | 30
19 | 1
20 |
21 |
22 |
23 | 0
24 | index.html, index.htm, index.php
25 |
26 |
27 |
28 | php
29 | lsapi
30 | lsphp73
31 |
32 |
33 |
34 | 1
35 |
36 |
37 |
38 | $VH_ROOT/cache
39 | 0
40 |
41 |
42 |
43 |
44 | lsapi
45 | lsphp73
46 | uds://tmp/lshttpd/lsphp73.sock
47 | 35
48 | PHP_LSAPI_MAX_REQUESTS=5000
49 | PHP_LSAPI_CHILDREN=35
50 | 180
51 | 0
52 | 1
53 | 30
54 | 0
55 | 1
56 | /usr/bin/lsphp73
57 | 100
58 | 1
59 | 10
60 | 0
61 | 1024M
62 | 1024M
63 | 400
64 | 500
65 |
66 |
67 |
68 |
--------------------------------------------------------------------------------
/conf/vhosts/LLStack-demo.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | $VH_ROOT/public_html
4 | demo@llstack.com
5 | 1
6 |
7 |
8 | 1
9 | $VH_ROOT/logs/$VH_ROOT_errors.log
10 | ERROR
11 | 100M
12 |
13 |
14 | 0
15 | $VH_ROOT/logs/$VH_NAME.access.log
16 | 3
17 | 100M
18 | 30
19 | 1
20 |
21 |
22 |
23 | 0
24 | index.html, index.htm, index.php
25 |
26 |
27 |
28 | php
29 | lsapi
30 | lsphp73
31 |
32 |
33 |
34 | 1
35 |
36 |
37 |
38 | $VH_ROOT/cache
39 | 0
40 |
41 |
42 |
43 |
44 | lsapi
45 | lsphp73
46 | uds://tmp/lshttpd/lsphp73.sock
47 | 35
48 | PHP_LSAPI_MAX_REQUESTS=5000
49 | PHP_LSAPI_CHILDREN=35
50 | 180
51 | 0
52 | 1
53 | 30
54 | 0
55 | 1
56 | /usr/bin/lsphp73
57 | 100
58 | 1
59 | 10
60 | 0
61 | 1024M
62 | 1024M
63 | 400
64 | 500
65 |
66 |
67 |
68 |
69 | cgi
70 | /cgi-bin/
71 | $VH_ROOT/cgi-bin/
72 |
73 |
74 |
75 |
76 |
77 |
78 | off
79 |
80 |
81 |
82 |
--------------------------------------------------------------------------------
/Readme.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | # 什么是 LLStack ?
4 |
5 | LLStack 全称是 “Linux LiteSpeed Stack”,即在 Linux 上安装 LiteSpeed + PHP + MySQL/MariaDB(可选)的高性能 Web 运行环境,特别适合运行 PHP 程序。
6 |
7 | 更多具体问题和安装教程请看:https://www.llstack.com/
8 |
9 | # LiteSpeed 介绍
10 |
11 | LiteSpeed 即 LiteSpeed Web Server(简称 LSWS),是一款企业级商用 Web 服务软件,可以完美的 Apache HTTPD 兼容体验,.htaccess 规则可以直接兼容而不像 Nginx 需要重写,并兼容常用的mod扩展。得益于基于事件的架构优势,静态内容比Apache Httpd 快 5 倍 ,动态内容更是快 40 倍,HTTPS 访问快 3 倍并可以应用硬件加速器。
12 |
13 | 同时作为商业 Web 服务软件,也率先研究并落地最新的 Web 技术,在 HTTP/2 和 HTTP/3(QUIC) 上均是第一个应用的 Web 服务软件,可以直接无缝使用 Brotli、LSCahe 等新特性而无需像 Nginx 一样需要额外配置非官方的扩展并担心 API 兼容性问题。
14 |
15 | ## LiteSpeed 特性
16 |
17 | ### 更高性能
18 |
19 | LiteSpeed Web Server使用事件驱动的体系结构,Apache是基于流程的。LiteSpeed Web Server及其事件驱动架构,可为几乎没有进程的所有连接提供服务,从而节省资源。
20 |
21 | ### 更加安全
22 |
23 | 同时 LiteSpeed 也支持 mod_Security,可以轻松实现基础的 WAF 能力,在没有极高的防御需求的时候仅使用 LiteSpeed 则无需额外购买高昂的商业WAF。 同时针对一些 CC 和 DDOS 攻击,LiteSpeed 也有做好优化和应对策略,可以降低攻击造成的影响。
24 |
25 | ### 开箱即用
26 |
27 | 相比 Nginx、Apache 安装一些高性能扩展,如 PageSpeed,Brotli,或者和 Varnish 这样的内存级 Web 加速软件,一些协议的支持上如TLS 1.3、QUIC,搭配都需要一定的经验以及复杂的配置,而这些特性在 LiteSpeed 上都是开箱即用的。
28 |
29 | ### 可视化后台
30 |
31 | 不同于 Nginx、Apache HTTPD 黑底白字的配置文件,LiteSpeed 即可以通过编辑配置文件操作也可以通过可视化控制台进行操作,降低操作门槛。
32 |
33 | ### Apache 兼容
34 |
35 | 不仅仅是兼容 Apache HTTPD 的特性和扩展,LiteSpeed 可以直接读取 Apache HTTPD 配置文件并转化,并且在不停机条件下直接从 Apache HTTPD 上完成无缝迁移。
36 |
37 | **更多特性和 LiteSpeed 介绍请看:** [LiteSpeed 介绍页](https://www.llstack.com/zh/LiteSpeed/)
38 |
39 | # 安装
40 |
41 | **注意**
42 |
43 | LLStack 仅适用于 RHEL 7 系操作系统及其衍生版,RHEL7、CentOS7、OracleLinux7、CloudLinux 7等。 RHEL 8 系正在测试中。
44 |
45 | **安全组/防火墙**
46 |
47 | 安装前务必要根据教程开启服务器安全组和防火墙中LLStack所依赖的端口。 教程: [**安全组设置**](https://www.llstack.com/zh/others/Security-group.html)
48 |
49 | 安装完 LLStack 后防火墙的设置请参考: [**安全组设置**](https://www.llstack.com/zh/others/firewall.html)
50 |
51 | ## 轻量版
52 |
53 | LLStack 轻量版脚本只提供 LiteSpeed 的图形化面板,其他 PHP、MySQL(MariaDB)的管理全部使用软件默认的配置文件,配置较为复杂,适合有经验高手和不习惯面板的同学使用。当然,也会更加简洁高效,同时资源利用率和安全性也更高。
54 |
55 | **安装脚本:**
56 |
57 | ```bash
58 | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ivmm/LLStack/master/install.sh)" 2>&1 | tee llstack-all.log
59 | ```
60 |
61 | [轻量版详细教程 →](https://www.llstack.com/zh/Lite/)
62 |
63 | ## 面板版
64 |
65 | 面板版是深度集成了非常好用且Web应用非强制性的 APPNode 面板而来的版本,常见的服务器组件如 PHP、MySQL、Redis、Memcached 都提供了图形化支持,同时也提供软件管家、防火墙、文件管理、备份管理等众多实用功能,适合新手使用,也适合有大量服务器运维的同学使用。
66 |
67 | **安装脚本:**
68 |
69 | ```bash
70 | INSTALL_AGENT=1 INIT_SWAPFILE=1 INSTALL_PKGS='php73' bash -c "$(curl -sS http://dl.appnode.com/install.sh)"
71 | yum install appnode-app-mysqld appnode-app-php
72 | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ivmm/LLStack/master/install-appnode.sh)" 2>&1 | tee llstack-all.log
73 | ```
74 |
75 | [面板版详细教程 →](https://www.llstack.com/zh/panel/)
76 |
77 |
--------------------------------------------------------------------------------
/conf/llstack.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | /var/www/vhosts/$VH_NAME/
4 | $SERVER_ROOT/conf/$VH_NAME.xml
5 | 1
6 | 1
7 | 1
8 | 2
9 | 0
10 |
11 | $VH_ROOT/html/
12 | 1
13 |
14 |
15 | 1
16 |
17 |
18 | 0
19 | $SERVER_ROOT/logs/$VH_NAME.access.log
20 | 100M
21 | 7
22 | 1
23 |
24 |
25 |
26 | 0
27 | index.html, index.php
28 | 0
29 | /_autoindex/default.php
30 |
31 |
32 |
33 | php
34 | lsapi
35 | $VH_NAME_lsphp
36 |
37 |
38 |
39 | 31
40 | .htaccess
41 |
42 |
43 | 1
44 |
45 |
46 |
47 | 0
48 | gif, jpeg, jpg
49 | 1
50 | 1
51 |
52 |
53 | *
54 |
55 |
56 |
57 | 7
58 |
59 | /var/www/vhosts/lscache/
60 | 1
61 |
62 |
63 | 1
64 |
65 |
66 |
67 |
68 | lsapi
69 | $VH_NAME_lsphp
70 | uds://tmp/lshttpd/$VH_NAME_lsphp.sock
71 | 35
72 | PHP_LSAPI_CHILDREN=35
73 | 60
74 | 0
75 | 0
76 | 1
77 | /usr/local/lsws/lsphp74/bin/lsphp
78 | 100
79 | 1
80 | -1
81 | 0
82 | 2047M
83 | 2047M
84 | 3000
85 | 4000
86 |
87 |
88 |
89 | 1
90 | 0
91 |
92 | RewriteCond %{HTTP_USER_AGENT} ^NameOfBadRobot
93 | RewriteRule ^/nospider/ - [F]
94 |
95 |
96 |
97 | /root/.acme.sh/certs/$VH_NAME/$VH_NAME.key
98 | /root/.acme.sh/certs/$VH_NAME/fullchain.cer
99 | 1
100 |
101 |
102 | 0
103 | 0
104 |
105 |
106 | 0
107 | $VH_ROOT/awstats
108 | /awstats/
109 | localhost
110 | 127.0.0.1 localhost
111 | 86400
112 | 0
113 |
114 |
115 |
116 |
--------------------------------------------------------------------------------
/keys/RPM-GPG-KEY-mysql:
--------------------------------------------------------------------------------
1 | -----BEGIN PGP PUBLIC KEY BLOCK-----
2 | Version: GnuPG v1.4.9 (SunOS)
3 |
4 | mQGiBD4+owwRBAC14GIfUfCyEDSIePvEW3SAFUdJBtoQHH/nJKZyQT7h9bPlUWC3
5 | RODjQReyCITRrdwyrKUGku2FmeVGwn2u2WmDMNABLnpprWPkBdCk96+OmSLN9brZ
6 | fw2vOUgCmYv2hW0hyDHuvYlQA/BThQoADgj8AW6/0Lo7V1W9/8VuHP0gQwCgvzV3
7 | BqOxRznNCRCRxAuAuVztHRcEAJooQK1+iSiunZMYD1WufeXfshc57S/+yeJkegNW
8 | hxwR9pRWVArNYJdDRT+rf2RUe3vpquKNQU/hnEIUHJRQqYHo8gTxvxXNQc7fJYLV
9 | K2HtkrPbP72vwsEKMYhhr0eKCbtLGfls9krjJ6sBgACyP/Vb7hiPwxh6rDZ7ITnE
10 | kYpXBACmWpP8NJTkamEnPCia2ZoOHODANwpUkP43I7jsDmgtobZX9qnrAXw+uNDI
11 | QJEXM6FSbi0LLtZciNlYsafwAPEOMDKpMqAK6IyisNtPvaLd8lH0bPAnWqcyefep
12 | rv0sxxqUEMcM3o7wwgfN83POkDasDbs3pjwPhxvhz6//62zQJ7Q2TXlTUUwgUmVs
13 | ZWFzZSBFbmdpbmVlcmluZyA8bXlzcWwtYnVpbGRAb3NzLm9yYWNsZS5jb20+iGkE
14 | ExECACkCGyMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAIZAQUCUwHUZgUJGmbLywAK
15 | CRCMcY07UHLh9V+DAKCjS1gGwgVI/eut+5L+l2v3ybl+ZgCcD7ZoA341HtoroV3U
16 | 6xRD09fUgeq0O015U1FMIFBhY2thZ2Ugc2lnbmluZyBrZXkgKHd3dy5teXNxbC5j
17 | b20pIDxidWlsZEBteXNxbC5jb20+iG8EMBECAC8FAk53Pa0oHSBidWlsZEBteXNx
18 | bC5jb20gd2lsbCBzdG9wIHdvcmtpbmcgc29vbgAKCRCMcY07UHLh9bU9AJ9xDK0o
19 | xJFL9vTl9OSZC4lX0K9AzwCcCrS9cnJyz79eaRjL0s2r/CcljdyIZQQTEQIAHQUC
20 | R6yUtAUJDTBYqAULBwoDBAMVAwIDFgIBAheAABIJEIxxjTtQcuH1B2VHUEcAAQGu
21 | kgCffz4GUEjzXkOi71VcwgCxASTgbe0An34LPr1j9fCbrXWXO14msIADfb5piEwE
22 | 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
94 | AcOphrnJ
95 | =443I
96 | -----END PGP PUBLIC KEY BLOCK-----
97 |
--------------------------------------------------------------------------------
/home/demo/public_html/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | LLStack 初始页面 - Powered by LLStack
7 |
8 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 | 服务器环境建设完成
36 |
37 |
38 |
此页面为 LLStack 初始默认页面。
39 |
看到本页面表示您的服务器环境已经生效,请尽快创建虚拟主机,并删除本示例主机。
40 |
服务器管理工具: sh /root/vhost.sh
41 |
环境Toolkit: 探针 OpCache phpMyAdmin
42 |
环境说明书: 进入 LLStack 官网查看更多教程
43 |
44 |
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/conf/httpd_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | $HOSTNAME
4 | 2
5 | nobody
6 | nobody
7 | 0
8 | /
9 | 0
10 | 120M
11 | /tmp/lshttpd/swap
12 | 1
13 | 0
14 | $SERVER_ROOT/conf/mime.properties
15 | 0
16 | 86400
17 | 1
18 | root@localhost
19 |
20 |
21 | $SERVER_ROOT/logs/error.log
22 | DEBUG
23 | 0
24 | 10M
25 | 1
26 | 1
27 |
28 |
29 | $SERVER_ROOT/logs/access.log
30 | 10M
31 | 30
32 | 0
33 |
34 |
35 | index.html, index.php
36 |
37 | 31
38 | .htaccess
39 |
40 |
41 | 1
42 | image/*=A604800, text/css=A604800, application/x-javascript=A604800, application/javascript=A604800,font/*=A604800,application/x-font-ttf=A604800
43 |
44 |
45 | 10000
46 | 10000
47 | 300
48 | 10000
49 | 5
50 | 0
51 | 0
52 | 8192
53 | 16380
54 | 500M
55 | 8K
56 | 500M
57 | 4096
58 | 20M
59 | 256K
60 | 40M
61 | 1
62 | 1
63 | 4
64 | 1
65 | text/*, application/x-javascript, application/javascript, application/xml, image/svg+xml, application/rss+xml
66 | 1
67 | 1
68 | 1
69 | 6
70 | 1M
71 | 300
72 |
73 |
74 | 1
75 |
76 |
77 |
78 | 1
79 | 0
80 | 000
81 | 000
82 |
83 |
84 | 0
85 | 0
86 | 0
87 | 0
88 | 10000
89 | 10000
90 | 15
91 | 300
92 |
93 |
94 | 200
95 | 11
96 | 10
97 | 0
98 | 300
99 | 600
100 | 1450M
101 | 1500M
102 | 1400
103 | 1450
104 |
105 |
106 | 0
107 | 0
108 | deny,log,status:403
109 | 1
110 |
111 |
112 | /
113 | /etc/*
114 | /dev/*
115 | $SERVER_ROOT/conf/*
116 | $SERVER_ROOT/admin/conf/*
117 |
118 |
119 | ALL
120 |
121 |
122 |
123 |
124 | /var/www/lscache/
125 |
126 |
127 |
128 | native
129 | 35
130 | PHP_LSAPI_CHILDREN=35
131 | 60
132 | 0
133 | 1
134 | 0
135 | 60
136 | 2047M
137 | 2047M
138 | 1400
139 | 1500
140 |
141 |
142 | 5
143 | LSAPI_MAX_IDLE=60
144 | 180
145 | 0
146 | 60
147 | 0
148 | 50
149 | 1
150 | 3
151 | 2047M
152 | 2047M
153 | 400
154 | 500
155 |
156 |
157 |
158 | HTTP
159 | *:80
160 | 0
161 |
162 |
163 | HTTPS
164 | *:443
165 | 1
166 | 1
167 | /usr/local/lsws/admin/conf/webadmin.key
168 | /usr/local/lsws/admin/conf/webadmin.crt
169 |
170 |
171 |
172 |
173 | llstack
174 | $SERVER_ROOT/conf/templates/llstack.xml
175 | HTTP, HTTPS
176 |
177 | localhost
178 | *, localhost
179 |
180 |
181 |
182 | centralConfigLog
183 | $SERVER_ROOT/conf/templates/ccl.xml
184 | Default
185 |
186 |
187 | PHP_SuEXEC
188 | $SERVER_ROOT/conf/templates/phpsuexec.xml
189 | Default
190 |
191 |
192 | EasyRailsWithSuEXEC
193 | $SERVER_ROOT/conf/templates/rails.xml
194 | Default
195 |
196 |
197 |
198 |
--------------------------------------------------------------------------------
/vhost.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | #
4 | # CentOS 7 LLStack
5 | # Author: ivmm
6 | # Home: https://www.llstack.com
7 | # Blog: https://www.mf8.biz
8 | #
9 | # * LiteSpeed Enterprise Web Server
10 | # * MySQL 5.5/5.6/5.7/8.0(MariaDB 5.5/10.0/10.1/10.2/10.3)
11 | # * PHP 5.4/5.5/5.6/7.0/7.1/7.2/7.3
12 | # * phpMyAdmin(Adminer)
13 | #
14 | # https://github.com/ivmm/LLStack/
15 | #
16 | # Usage: sh vhost.sh
17 | #
18 |
19 | # check root
20 | [ "$(id -g)" != '0' ] && die 'Script must be run as root.'
21 |
22 | clear
23 | echo "====================================================================="
24 | echo -e "\033[32mLLStack for CentOS/RedHat 7\033[0m"
25 | echo "====================================================================="
26 | echo -e "\033[32mA tool to auto-compile & install LiteSpeed+MySQL(MariaDB)+PHP on Linux\033[0m"
27 | echo ""
28 | echo -e "\033[32mFor more information please visit https://www.llstack.com/\033[0m"
29 | echo "====================================================================="
30 |
31 | #Domain name
32 | domain="mf8.biz"
33 | echo "Please input domain:"
34 | read -p "(Default domain: mf8.biz):" domain
35 | if [ "$domain" = "" ]; then
36 | domain="mf8.biz"
37 | fi
38 |
39 | if [ ! -f "//usr/local/lsws/conf/vhosts/$domain.xml" ]; then
40 | echo "==========================="
41 | echo "domain=$domain"
42 | echo "==========================="
43 | else
44 | echo "==========================="
45 | echo "$domain is exist!"
46 | echo "==========================="
47 | exit 0
48 | fi
49 |
50 | #WebMaster's Email
51 | webmasteremail="admin@mf8.biz"
52 | echo "Please input The WebMaster's Email:"
53 | read -p "(Example: admin@mf8.biz):" webmasteremail
54 | if [ "$webmasteremail" = "" ]; then
55 | webmasteremail="admin@mf8.biz"
56 | fi
57 |
58 | #LSPHP Version
59 | Llsphpversion=$(cat /usr/share/lsphp-default-version)
60 | echo "Please input The PHP Version(If you have installed multiple versions of PHP): "
61 | read -p "PHP Version,Example: lsphp71,lsphp70 or lsphp56: " -r -e -i "${Llsphpversion}" lsphpversion
62 | if [ "$lsphpversion" = "" ]; then
63 | lsphpversion=$(cat /usr/share/lsphp-default-version)
64 | fi
65 |
66 |
67 | #More domain name
68 | read -p "Do you want to add more domain name? (y/n)" add_more_domainame
69 |
70 | if [ "$add_more_domainame" = 'y' ] || [ "$add_more_domainame" = 'Y' ]; then
71 | echo "Please input domain name,example(www.mf8.biz,statics.mf8.biz,imgs.mf8.biz)"
72 | read -p "Please use \",\" between each domain: " moredomain
73 | echo "==========================="
74 | echo domain list="$moredomain"
75 | echo "==========================="
76 | moredomainame=" $moredomain"
77 | fi
78 |
79 | #Enable SSL
80 | read -p "Do you want to enable HTTPS? (y/n)" enablessl
81 |
82 | if [ "$enablessl" = 'y' ] || [ "$enablessl" = 'Y' ]; then
83 | echo "Please input the Private Key File Path"
84 | read -p "Example:/home/demo/ssl/www.mf8.biz.key " privatekeypath
85 | echo "Please input the Certificate File Path"
86 | read -p "Example:/home/demo/ssl/www.mf8.biz.crt " certificatepath
87 | read -p "Do you want to enable HTTP/3(QUIC)? (y/n) " enablequic
88 | echo "==========================="
89 | echo Private Key File Path="$privatekeypath"
90 | echo Certificate File Path="$certificatepath"
91 | echo "==========================="
92 | chown lsadm:lsadm $privatekeypath
93 | chown lsadm:lsadm $certificatepath
94 | fi
95 |
96 | get_char() {
97 | SAVEDSTTY=`stty -g`
98 | stty -echo
99 | stty cbreak
100 | dd if=/dev/tty bs=1 count=1 2> /dev/null
101 | stty -raw
102 | stty echo
103 | stty $SAVEDSTTY
104 | }
105 |
106 | echo ""
107 | echo "Press any key to start or CTRL+C to cancel."
108 | char=`get_char`
109 |
110 | #Mkdir for vhost
111 | mkdir -p /home/$domain/{public_html,logs,ssl,cgi-bin,cache}
112 | chown -R nobody:nobody /home/$domain/public_html
113 |
114 | #add httpd conf Virtual host
115 | cp -f /usr/local/lsws/conf/httpd_config.xml /usr/local/lsws/conf/httpd_config.xml.bak
116 | v1=""
117 | v2="$domain<\/name>"
118 | v3="\/home\/$domain<\/vhRoot>"
119 | v4="\$SERVER_ROOT\/conf\/vhosts\/$domain.xml<\/configFile>"
120 | v5="1<\/allowSymbolLink>"
121 | v6="1<\/enableScript>"
122 | v7="0<\/restrained>"
123 | v8="2<\/setUIDMode>"
124 | v9="0<\/chrootMode>"
125 | v10="<\/virtualHost>"
126 | vend="<\/virtualHostList>"
127 | sed -i 's/'$vend'/'$v1'\n'$v2'\n'$v3'\n'$v4'\n'$v5'\n'$v6'\n'$v7'\n'$v8'\n'$v9'\n'$v10'\n&/' /usr/local/lsws/conf/httpd_config.xml
128 |
129 | if [ "$enablessl" = 'y' ] || [ "$enablessl" = 'Y' ]; then
130 |
131 | #add httpd conf listen (https)
132 | l1=""
133 | l2="$domain<\/vhost>"
134 | l3="$domain,$moredomain<\/domain>"
135 | l4="<\/vhostMap>"
136 | lend="<\/vhostMapList>"
137 | sed -i 's/'$lend'/'$l1'\n'$l2'\n'$l3'\n'$l4'\n&/' /usr/local/lsws/conf/httpd_config.xml
138 |
139 | if [ "$add_more_domainame" = 'y' ] || [ "$add_more_domainame" = 'Y' ]; then
140 | l1=""
141 | l2="$domain<\/vhost>"
142 | l3="$domain,$moredomain<\/domain>"
143 | l4="<\/vhostMap>"
144 | lend="<\/vhostMapList>"
145 | sed -i 's/'$lend'/'$l1'\n'$l2'\n'$l3'\n'$l4'\n&/' /usr/local/lsws/conf/httpd_config.xml
146 | else
147 | l1=""
148 | l2="$domain<\/vhost>"
149 | l3="$domain<\/domain>"
150 | l4="<\/vhostMap>"
151 | lend="<\/vhostMapList>"
152 | sed -i 's/'$lend'/'$l1'\n'$l2'\n'$l3'\n'$l4'\n&/' /usr/local/lsws/conf/httpd_config.xml
153 | fi
154 |
155 | #add vhost conf (https)
156 | cat >>/usr/local/lsws/conf/vhosts/$domain.xml<
158 |
159 | /home/$domain/public_html
160 | $webmasteremail
161 | 1
162 |
163 |
164 | 1
165 | /home/$domain/logs/$domain_errors.log
166 | ERROR
167 | 100M
168 |
169 |
170 | 0
171 | /home/$domain/logs/$domain.access.log
172 | 3
173 | 100M
174 | 30
175 | 1
176 |
177 |
178 |
179 | 0
180 | index.html, index.htm, index.php
181 |
182 |
183 |
184 | php
185 | lsapi
186 | $lsphpversion
187 |
188 |
189 |
190 | 1
191 |
192 |
193 |
194 | /home/$domain/cache
195 | 0
196 |
197 |
198 |
199 |
200 | lsapi
201 | $lsphpversion
202 | uds://tmp/lshttpd/$domain-$lsphpversion.sock
203 | 35
204 | PHP_LSAPI_MAX_REQUESTS=5000
205 | PHP_LSAPI_CHILDREN=35
206 | 180
207 | 0
208 | 1
209 | 30
210 | 0
211 | 1
212 | /usr/bin/$lsphpversion
213 | 100
214 | 1
215 | 10
216 | 0
217 | 1024M
218 | 1024M
219 | 400
220 | 500
221 |
222 |
223 |
224 |
225 | cgi
226 | /cgi-bin/
227 | /home/$domain/cgi-bin/
228 |
229 |
230 |
231 |
232 |
233 |
234 | off
235 |
236 |
237 |
238 | $privatekeypath
239 | $certificatepath
240 | 1
241 | 1
242 | 1
243 | 1
244 | 4
245 | 0
246 |
247 |
248 | EOF
249 |
250 | if [ "$enablequic" = 'y' ] || [ "$enablequic" = 'Y' ]; then
251 | sed -i "s@0@1@g" /usr/local/lsws/conf/vhosts/$domain.xml
252 | fi
253 |
254 | else
255 |
256 | #add httpd conf listen(http)
257 | l1=""
258 | l2="$domain<\/vhost>"
259 | l3="$domain,$moredomain<\/domain>"
260 | l4="<\/vhostMap>"
261 | lend="<\/vhostMapList>"
262 | sed -i 's/'$lend'/'$l1'\n'$l2'\n'$l3'\n'$l4'\n&/' /usr/local/lsws/conf/httpd_config.xml
263 |
264 | if [ "$add_more_domainame" = 'y' ] || [ "$add_more_domainame" = 'Y' ]; then
265 | l1=""
266 | l2="$domain<\/vhost>"
267 | l3="$domain,$moredomain<\/domain>"
268 | l4="<\/vhostMap>"
269 | lend="<\/vhostMapList>"
270 | sed -i 's/'$lend'/'$l1'\n'$l2'\n'$l3'\n'$l4'\n&/' /usr/local/lsws/conf/httpd_config.xml
271 | else
272 | l1=""
273 | l2="$domain<\/vhost>"
274 | l3="$domain<\/domain>"
275 | l4="<\/vhostMap>"
276 | lend="<\/vhostMapList>"
277 | sed -i 's/'$lend'/'$l1'\n'$l2'\n'$l3'\n'$l4'\n&/' /usr/local/lsws/conf/httpd_config.xml
278 | fi
279 |
280 | #add vhost conf (http)
281 | cat >>/usr/local/lsws/conf/vhosts/$domain.xml<
283 |
284 | /home/$domain/public_html
285 | $webmasteremail
286 | 1
287 |
288 |
289 | 1
290 | /home/$domain/logs/$domain_errors.log
291 | ERROR
292 | 100M
293 |
294 |
295 | 0
296 | /home/$domain/logs/$domain.access.log
297 | 3
298 | 100M
299 | 30
300 | 1
301 |
302 |
303 |
304 | 0
305 | index.html, index.htm, index.php
306 |
307 |
308 |
309 | php
310 | lsapi
311 | $lsphpversion
312 |
313 |
314 |
315 | 1
316 |
317 |
318 |
319 | /home/$domain/cache
320 | 0
321 |
322 |
323 |
324 |
325 | lsapi
326 | $lsphpversion
327 | uds://tmp/lshttpd/$domain-$lsphpversion.sock
328 | 35
329 | PHP_LSAPI_MAX_REQUESTS=5000
330 | PHP_LSAPI_CHILDREN=35
331 | 180
332 | 0
333 | 1
334 | 30
335 | 0
336 | 1
337 | /usr/bin/$lsphpversion
338 | 100
339 | 1
340 | 10
341 | 0
342 | 1024M
343 | 1024M
344 | 400
345 | 500
346 |
347 |
348 |
349 |
350 | cgi
351 | /cgi-bin/
352 | /home/$domain/cgi-bin/
353 |
354 |
355 |
356 |
357 |
358 |
359 | off
360 |
361 |
362 |
363 | EOF
364 |
365 | fi
366 |
367 | chown -R lsadm:lsadm /usr/local/lsws/conf/vhosts/$domain.xml
368 |
369 |
370 | service lsws restart
371 |
372 | echo "========================================================================="
373 | echo "The Virtual host has been created"
374 | echo "The path of the Virtual host is /home/$domain/"
375 | echo "Please upload the web files into /home/$domain/public_html"
376 | echo "========================================================================="
377 |
--------------------------------------------------------------------------------
/home/demo/public_html/ocp.php:
--------------------------------------------------------------------------------
1 | 1 || php_sapi_name()=='cli' || empty($_SERVER['REMOTE_ADDR']) ) { die('Indirect access not allowed'); } // weak block against indirect access
11 |
12 | $time=time();
13 | define('CACHEPREFIX',function_exists('opcache_reset')?'opcache_':(function_exists('accelerator_reset')?'accelerator_':''));
14 |
15 | if ( !empty($_GET['RESET']) ) {
16 | if ( function_exists(CACHEPREFIX.'reset') ) { call_user_func(CACHEPREFIX.'reset'); }
17 | header( 'Location: '.str_replace('?'.$_SERVER['QUERY_STRING'],'',$_SERVER['REQUEST_URI']) );
18 | exit;
19 | }
20 |
21 | if ( !empty($_GET['RECHECK']) ) {
22 | if ( function_exists(CACHEPREFIX.'invalidate') ) {
23 | $recheck=trim($_GET['RECHECK']); $files=call_user_func(CACHEPREFIX.'get_status');
24 | if (!empty($files['scripts'])) {
25 | foreach ($files['scripts'] as $file=>$value) {
26 | if ( $recheck==='1' || strpos($file,$recheck)===0 ) call_user_func(CACHEPREFIX.'invalidate',$file);
27 | }
28 | }
29 | header( 'Location: '.str_replace('?'.$_SERVER['QUERY_STRING'],'',$_SERVER['REQUEST_URI']) );
30 | } else { echo 'Sorry, this feature requires Zend Opcache newer than April 8th 2013'; }
31 | exit;
32 | }
33 |
34 | topheader();
35 |
36 | if ( !function_exists(CACHEPREFIX.'get_status') ) { echo 'Opcache not detected?
'; exit; }
37 |
38 | if ( !empty($_GET['FILES']) ) { echo 'files cached
'; files_display(); echo '