docker基于lamp的ctf web題目容器

0x00 目的

實(shí)驗(yàn)室要做ctf比賽平臺,我負(fù)責(zé)包裝上傳賽題的工作,使用docker保證運(yùn)行環(huán)境的隔離.

0x01 lamp介紹&run

LAMP指的Linux(操作系統(tǒng))、Apache HTTP 服務(wù)器欲主,MySQL(有時也指MariaDB逝嚎,數(shù)據(jù)庫軟件和PHP(有時也是指Perl或Python 的第一個字母岛蚤,一般用來建立web應(yīng)用平臺。
找到一個合適的lamp鏡像

docker search lamp

會出現(xiàn)很多,復(fù)制去https://hub.docker.com/找到相關(guān)介紹,確定具體使用哪種.

這里使用linode/lamp
docker run -dt -p PORT:80 -v /opt/web:/var/www/web linode/lamp
#-v outdir:indir
#這里將容器內(nèi)的/var/www/web映射到本機(jī)的/Documents/web
#具體可以參考https://www.cnblogs.com/ivictor/p/4834864.html
#注:若映射到內(nèi)部有內(nèi)容的文件夾則會將內(nèi)部文件夾的內(nèi)容清空(我外部用的是一個空文件夾)

0x02 進(jìn)入容器配置apache2

docker exec -it CONTAINERID /bin/bash
#CONTAINERID使用docker ps 查看

參考https://www.linode.com/docs/websites/hosting-a-website-ubuntu-18-04/#install-mysql進(jìn)行配置

進(jìn)入容器后
service apache2 start
service mysql start
#打開apache2和mysql服務(wù)
修改連接數(shù)等配置
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak #做備份
sudo nano /etc/apache2/apache2.conf #使用nano打開配置文件

拉到最后

   <IfModule mpm_prefork_module>
       StartServers 4
       MinSpareServers 20
       MaxSpareServers 40
       MaxClients 200
       MaxRequestsPerChild 4500
   </IfModule>
StartServers #apache啟動時候默認(rèn)開始的子進(jìn)程數(shù)
MinSpareServers #最小的閑置子進(jìn)程數(shù)
MaxSpareServers #最大的閑置子進(jìn)程數(shù)
MaxClients #控制最大進(jìn)程數(shù)
MaxConnectionsPerChild 
#設(shè)置的是每個子進(jìn)程可處理的請求數(shù)懈糯。
#每個子進(jìn)程在處理了“MaxConnectionsPerChild”個請求后將自動銷毀。
#0意味著無限单雾,即子進(jìn)程永不銷毀赚哗。
#雖然缺省設(shè)為0可以使每個子進(jìn)程處理更多的請求,但如果設(shè)成非零值也有兩點(diǎn)重要的好處:
#1硅堆、可防止意外的內(nèi)存泄漏屿储。
#2、在服務(wù)器負(fù)載下降的時侯會自動減少子進(jìn)程數(shù)渐逃。因此够掠,可根據(jù)服務(wù)器的負(fù)載來調(diào)整這個值。
#在Apache2.3.9之前稱之為MaxRequestsPerChild茄菊。
ctrl+x退出,Y保存,ENTER退出
重啟apache2
service restart apache2
修改網(wǎng)頁根目錄等
sudo nano /etc/apache2/sites-available/example.com.conf
<VirtualHost *:80>
  # Admin email, Server Name (domain name), and any aliases
  ServerAdmin webmaster@example.com
  ServerName  example.com
  ServerAlias www.example.com

  # Index file and Document Root (where the public files are located)
  DirectoryIndex index.html index.php
  DocumentRoot /var/www/html/example.com/public_html
  # Log file locations
  LogLevel warn
  ErrorLog  /var/www/html/example.com/log/error.log
  CustomLog /var/www/html/example.com/log/access.log combined
</VirtualHost>

#這里我對DocumentRoot,ErrorLog,CustomLog進(jìn)行了修改
#由于我映射的目錄是/var/www/web,所以把DocumentRoot 改為/var/www/web
#ErrorLog改為/var/www/log/error.log
#CustomLog改為/var/www/log/access.log combined
ctrl+x退出,Y保存,ENTER退出
sudo a2ensite example.com.conf
service restart apache2
#重讀配置文件

0x03 配置MySQL

sudo mysql_secure_installation

這里密碼是Admin2015,官方?jīng)]寫,找了很久!!

基本是一路按照默認(rèn)的一直ENTER就行(y和n大寫的就是默認(rèn)選項)
service restart mysql
#重啟mysql

0x04 修改目錄用戶組

權(quán)限介紹
https://blog.csdn.net/u013197629/article/details/73608613

cd /var/www
ps aux 
#顯示其他用戶啟動的進(jìn)程(a)
#查看系統(tǒng)中屬于自己的進(jìn)程(x)
#啟動這個進(jìn)程的用戶和它啟動的時間(u)
chown -R www-data:www-data web
#這里通過ps aux看到apache服務(wù)是www-data用戶啟動的
#將web文件夾加入www-data用戶組

0x05 打包push到私有registry

exit  #退出容器
保存對容器的更改
docker commit CONTAINERID USERNAME/NAME
#USERNAME是一般化的規(guī)定,一般情況是用戶名,就是隨意起的自己的名字
#NAME是倉庫名,我這里使用的事lamp
給鏡像加標(biāo)簽
docker tag IMAGEID IP(or 127.0.0.1)/NAME:VERSION
#具體看上一篇
傳到registry
docker push IP(or 127.0.0.1)/NAME:VERSION

0x06 文件傳輸

我是mac使用ssh鏈接到遠(yuǎn)程服務(wù)器
使用scp傳輸文件
由于容器內(nèi)映射
直接傳入Ubuntu的文件夾
在Ubuntu內(nèi)更改文件夾權(quán)限

sudo chmod 777 /opt/web

mac內(nèi)

scp OUTFILE USER@IP:/opt/web
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末疯潭,一起剝皮案震驚了整個濱河市赊堪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌竖哩,老刑警劉巖哭廉,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異相叁,居然都是意外死亡遵绰,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門增淹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來椿访,“玉大人,你說我怎么就攤上這事虑润〕擅担” “怎么了?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵端辱,是天一觀的道長梁剔。 經(jīng)常有香客問我,道長舞蔽,這世上最難降的妖魔是什么荣病? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮渗柿,結(jié)果婚禮上个盆,老公的妹妹穿的比我還像新娘。我一直安慰自己朵栖,他們只是感情好颊亮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著陨溅,像睡著了一般终惑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上门扇,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天雹有,我揣著相機(jī)與錄音,去河邊找鬼臼寄。 笑死霸奕,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的吉拳。 我是一名探鬼主播质帅,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了煤惩?” 一聲冷哼從身側(cè)響起嫉嘀,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎盟庞,沒想到半個月后吃沪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡什猖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年票彪,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片不狮。...
    茶點(diǎn)故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡降铸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出摇零,到底是詐尸還是另有隱情推掸,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布驻仅,位于F島的核電站谅畅,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏噪服。R本人自食惡果不足惜毡泻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望粘优。 院中可真熱鬧仇味,春花似錦、人聲如沸雹顺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嬉愧。三九已至贩挣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間没酣,已是汗流浹背王财。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留四康,地道東北人。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓狭握,卻偏偏與公主長得像闪金,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Docker — 云時代的程序分發(fā)方式 要說最近一年云計算業(yè)界有什么大事件哎垦?Google Compute Engi...
    ahohoho閱讀 15,532評論 15 147
  • 一.docker 是什么: 2.安裝docker 系統(tǒng):ubuntu16.04 使用腳本自動安裝 Docker 官...
    Black_Sun閱讀 2,117評論 0 2
  • 懷舊是每個人都會有的一種情節(jié)漏设,對于童年墨闲,時光,青春郑口。年齡不斷在長大鸳碧,并一步步走向蒼老的我們,內(nèi)心深處總是會不斷的回...
    丫頭317閱讀 203評論 0 2
  • 隨季節(jié)遷徙 一直是宿命 又仿佛被折斷雙腳 一經(jīng)落地 將是它永久的 墓居
    一粒簡單閱讀 194評論 0 0
  • 低頻共振儀的效果怎么樣? 水是維持人體健康不可或缺的物質(zhì)犬性。通常情況下瞻离,如果我們體內(nèi)缺水較多,就會因體內(nèi)毒素積聚過多...
    中科美瑞閱讀 1,586評論 0 0