![ç»å](https://habrastorage.org/web/77d/b78/a4b/77db78a4b0824c628a7f29b7067aae4c.png)
芪æãªãïŒ ãŠãŒã¶ãŒïŒ ããã«ã¡ã¯ã ä»æ¥ã¯ãã³ã³ãã¥ãŒã¿ãŒã®æ§æãšè·å Žã®ã³ã³ãã¥ãŒã¿ãŒã«ãã°ãªã³ãããŠãŒã¶ãŒã«é¢ããæ å ±ãååŸã§ããç°¡åãªã·ã¹ãã ãäœæããæ¹æ³ãšããµãŒãã¹ãå ¬éããŠAmazon AWSã«è»¢éããæ¹æ³ã«ã€ããŠèª¬æããŸãã ãã®èšäºã¯ãWebãµãŒããŒãã¡ãŒã«ãéµéã¬ã¿ãŒãäœæããAmazon AWSã§é©åã«èšå®ããæ¹æ³ã«é¢ãã詳现ãªã¬ã€ãã®äžéšãšèŠãªãããšãã§ããŸãã ã¯ãããã®èšäºã¯åé¡ã§ããŸã-ç§ã¯PRã§ãã ç«ã®äžã§ããããããªããŸããã 泚æã¯å€ãã®ã¹ã¯ãªãŒã³ã·ã§ããã«ãªããŸãã
èæ¯
ãã«ããã¹ã¯ã®å庫管çè ããé»è©±ãåããã ç§ã¯åœŒã®é»è©±ã«çããã 圌ã¯ãã·ãªã¢ã«çªå·ã§ã³ã³ãã¥ãŒã¿ãŒãèŠã€ããããšãã§ãããã©ããå°ããŸããã 圌ã¯ãã®ã³ã³ãã¥ãŒã¿ãŒã䜿çšããŠãã人ãèŠã€ããããšãã§ããŸããã§ããã ãã®äŒè©±ãããã·ãªã¢ã«çªå·ããã°ã€ã³ãããŠãŒã¶ãŒãªã©ãã³ã³ãã¥ãŒã¿ãŒã®æ§æå šäœã衚瀺ãããã·ã¹ãã ãäœæããæ¹æ³ã«ã€ããŠèããŸããã CïŒã§ã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ãäœæããããããã¹ãŠå¶åŸ¡ããã·ã³ãã«ãªã€ã³ã¿ãŒãã§ãŒã¹ã䜿çšããŠããã¹ãŠãWebãµãŒããŒã«éä¿¡ããŸãã
ãµãŒããŒåŽ
ã·ã¹ãã 管çè ã«Windows Server 2012 R2ã«å¥ã®ãµãŒããŒãå²ãåœãŠãããã«äŸé ŒããŸããã XAMPPãã€ã³ã¹ããŒã«ããŸããã ApacheãšMysqlããµãŒãã¹ã«è¿œå ãããµãŒããŒãåèµ·åããå Žåã«ãµã€ããåæ¢ããªãããã«ããŸããã ããŒã¿ããŒã¹ãopermonããäœæããããŒãã«ãè¿œå ããŸããã
Webã€ã³ã¿ãŒãã§ãŒã¹ã¯ãç¬èªã®mvcãšã³ãžã³ã䜿çšããŠèšè¿°ãããŠããŸãã ãããžã§ã¯ãæ§é ïŒ
- æ§æ-ããŒã¿ããŒã¹ãšã®éä¿¡çšã®æ§æãã¡ã€ã«ã¯ããã«ä¿åãããŸã
- ã³ã³ãããŒã©ãŒ-ã¯ã©ã¹ã¯ããã«ä¿åãããŸã
- ãã±ãŒã«-ããŒã«ãªãŒãŒã·ã§ã³
- ãã¥ãŒ-ã¹ã¿ã€ã«ãç»åãJavaScriptãå«ãããŒãžèªäœ
ã«ãŒããã©ã«ããŒã§ãindex.phpãã¡ã€ã«ãäœæããã³ãŒããèšè¿°ããŸãã
<?php session_start(); spl_autoload_register(function ($class){ include './app/controllers/' . $class . '.php'; }); $api = new Api($_GET); $controller = new Controller($_GET, $_POST); ?>
Controllersãã©ã«ããŒã«ã¯ãã·ã¹ãã ã®åäœãèšè¿°ããå€ãã®ã¯ã©ã¹ããããŸãã 1ã€ã®éèŠãªã¯ã©ã¹ã¯Controller.phpã¯ã©ã¹ã§ãã ãã®ã¯ã©ã¹ã¯ãindex.phpããã®__constructïŒ$ getã$ postïŒã§GETããã³POSTãªã¯ãšã¹ããåãå ¥ããã³ã³ãããŒã©ãŒã§ãã ç¹å®ã®ãªã¯ãšã¹ããåä¿¡ãããšãç¹å®ã®ããŒãžã衚瀺ãããŸãã
Apiã¯ã©ã¹ã¯ãajaxãªã¯ãšã¹ããåä¿¡ããŠââåŠçãã圹å²ãæãããŸãã ã·ã¹ãã 管çã³ã³ãœãŒã«ã¯1åã ãèµ·åããŸãã åŸç¶ã®ãã¹ãŠã®ã¢ã¯ã·ã§ã³ã¯ãjavascriptããã³ajaxãªã¯ãšã¹ãã䜿çšããŠå®è¡ãããŸãã
Microsoft Azureã®ã·ã¹ãã ã®èšèšã«è§ŠçºãããŸããã 以äžã¯ãæçµçµæã®ã¹ã¯ãªãŒã³ã·ã§ããã§ãã
ã¹ã¯ãªãŒã³ã·ã§ãã
![ç»å](https://habrastorage.org/web/037/b9c/ca3/037b9cca32da459ba50ab59b78fc9f97.png)
![ç»å](https://habrastorage.org/web/5aa/42e/cf3/5aa42ecf3e4b48bf9cf7969c87916cc2.png)
![ç»å](https://habrastorage.org/web/46e/df2/9e3/46edf29e3a4944fa9229acfe9ed085aa.png)
![ç»å](https://habrastorage.org/web/37e/302/dcf/37e302dcf3f44db4a262b2fb5a41e6d1.png)
![ç»å](https://habrastorage.org/web/241/2e4/74b/2412e474bf6b4ff2a262c045d0e5015d.png)
![ç»å](https://habrastorage.org/web/50f/dfe/829/50fdfe8290c84e659d84512d2d0636d7.png)
Amazon AWSã§åçšããŒãžã§ã³ãäœæããåã«ãã·ã¹ãã ãå®å šã«æžãçŽããŠå®å šæ§ãé«ããäžè¬çãªäœ¿çšã«åããç¡çšã®ããã«äžéšã®æ©èœãåé€ããããšã«æ³šæããŠãã ãããããããæ¬è³ªã¯åããŸãŸã§ããã
ã¯ã©ã€ã¢ã³ãéš
ãã®ã·ã¹ãã ã®ã¯ã©ã€ã¢ã³ãéšåã¯ãcïŒã§èšè¿°ãããåçŽãªãµãŒãã¹ã¢ããªã±ãŒã·ã§ã³ã§ãã ããŒãæã«ããµãŒãã¹ã¯ïŒ windows_pathïŒ \ OperMonitorSystem.xmlã«ããæ§æãã¡ã€ã«ãéããŸãã ãã®xmlãã¡ã€ã«ã®æ§é ïŒ
<OperMonitorSystem> <Server>http://servername/</Server> </OperMonitorSystem>
ãµãŒãã¹ããŠãŒã¶ãŒã»ãã·ã§ã³ã€ãã³ãããã£ããããã«ã¯ããµãŒãã¹ã®åæåã«ä»¥äžãè¿œå ããŸãã
this.CanHandleSessionChangeEvent = true;
ã»ãã·ã§ã³ã®å€æŽããã£ããããé¢æ°ãè¿œå ããå¿ èŠããããŸãã
protected override void OnSessionChange(SessionChangeDescription changeDescription) { switch (changeDescription.Reason) { case SessionChangeReason.SessionLogon: // break; case SessionChangeReason.SessionLogoff: // break; case SessionChangeReason.SessionLock: // break; case SessionChangeReason.SessionUnlock: // case SessionChangeReason.RemoteConnect: // case SessionChangeReason.RemoteDisconnect: // } base.OnSessionChange(changeDescription); }
WebClientã¯ã©ã¹ã䜿çšããŠãPOSTèŠæ±ããµãŒããŒã«éä¿¡ãããŸãã ã³ã³ãã¥ãŒã¿ãŒã®æ§æãååŸããã«ã¯ãWMIèŠæ±ã䜿çšãããŸãã
ã¯ã©ã€ã¢ã³ãããŒãã¯ãåã³ã³ãã¥ãŒã¿ãŒã«æåã§ã€ã³ã¹ããŒã«ãããïŒå€ããªãå ŽåïŒãã°ã«ãŒãããªã·ãŒã䜿çšããŠå±éã§ããŸãã
ãã®èšäºãæžããåŸãããæ£ç¢ºã«ã¯ãããã®ã³ã¡ã³ãã®åŸã«ããµãŒãã¹ãäœæãããšããã¢ã€ãã¢ãçãŸããŸããã
![ç»å](https://habrastorage.org/web/184/496/f4f/184496f4f75743b2bb72f074f435a298.png)
ã·ã¹ãã ã®æžãæãäžã«ãåãŠãŒã¶ãŒã«åºæã®ã³ãŒãïŒããã·ã¥IDïŒãå°å ¥ããããšãèŠæ±ãããŸããã ããã¯ãããã·ã¥ãä»ããŠæžãããã©ã³ãã ãªæ°åãšæåã®ç¹å®ã®ã·ãŒã±ã³ã¹ã§ããããŠãŒã¶ãŒç»é²æã«äžåºŠäœæãããŸãã Hashidã¯ãWindowsãã¡ããªã®ã·ãªã¢ã«ããŒãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšéåžžã«ãã䌌ãŠããŸãã å¿ èŠãªãµãã¹ã¯ãªãã·ã§ã³ã®æ¯æãåŸãåãŠãŒã¶ãŒã¯ãäžæã®ããã·ã¥IDãç»é²ãããŠããã€ã³ã¹ããŒã©ãŒããé€å€ãããŸãã ããã·ã¥IDãããŒã¿ããŒã¹ããŒã¿ã«å ¥åãããã®ã¯ãã®ããã§ããããã«ãããèš±å¯ãããŠããªããŠãŒã¶ãŒãå¥ã®ãŠãŒã¶ãŒã®ã³ã³ãã¥ãŒã¿ãŒãèŠãããšãã§ããªããªããŸãã
Amazon AWSã«ã·ã¹ãã ãã€ã³ã¹ããŒã«ããããšã«ããŸããã Amazon AWSã§ã¯ããã¡ãããã·ã¹ãã ã®ãã¹ãŠã®æ©èœã1幎éç¡æã§äœ¿çšã§ããŸãããå¶éã¯ãããŸããã Amazon AWSã«ç»é²ããŸãã ç»é²äžãã¢ã«ãŠã³ãã確èªããããã«æºåž¯é»è©±ã«é»è©±ãããããŸãã é話äžã«ãé»è©±ã§çªå·ããã€ã€ã«ããå¿ èŠããããŸãã æ®å¿µãªããããã®æ¹æ³ã§ã®ç»é²ã¯ããŸããããŸããã§ããã å¿ èŠãªçªå·ããã€ã€ã«ããŸããããçå®çªé»è©±ã¯ãŸã çªå·ããã€ã€ã«ããå¿ èŠããããäœãèµ·ãããŸããã§ããã ãã®åŸããµããŒããµãŒãã¹ã«ç®ãåããèªåã®ç¶æ³ã説æããŸããã ãµããŒãã¯ãŒã«ãŒãšã®é»è©±ã§æ¬äººç¢ºèªãèšå®ããŸãã ããã«ããµããŒãã¯ãŒã«ãŒããé»è©±ããããèªåãèªåã§ããããšã確èªããã¢ã«ãŠã³ãã確èªããŸããã Amazonã®ãµããŒãã¯éââåžžã«ç€Œåæ£ããããŠãŒã¶ãŒã«å¿ å®ã§ããããšã«æ³šæããŠãã ããã 楜ããéšåã«ç§»ãã®ã¯ãAmazon AWSã®ã»ããã¢ããã§ãã 以äžã«æžãããŠããããšã¯ãã¹ãŠãè©Šè¡é¯èª€ã®ããã®é·ãæ€çŽ¢ãä»ããŠæåããŸããã ãã®ã¬ã€ãã䜿çšãããšãæ€çŽ¢ãªã©ã«é Œãããšãªãããã¹ãŠãå®å šã«ã«ã¹ã¿ãã€ãºããŠäžããããšãã§ããŸãã
Amazon AWSã®ã»ããã¢ãã
ã«ãŒã53
ãŸãããã¡ã€ã³åãè³Œå ¥ããå¿ èŠããããŸãã opermon.comãéžã³ãŸããã ãªãopermonïŒ
- ãªãã©-åèªæŒç®åãã
- æ-ã¯ãŒãã¢ãã¿ãŒãã
- ã«ãŒã53ã«è¡ã
- ããã¹ããŸãŒã³ã®äœæããã¿ã³ãã¯ãªãã¯ããŸãã ã¡ãã¥ãŒã®å³åŽã§ãã¢ãã¬ã¹ãšã³ã¡ã³ããå
¥åããããããªãã¯ãã¹ããŸãŒã³ããéžæããŸãã ãããªãã¯ãã¹ããŸãŒã³-ããªããæžããååãå
šäžçã§å©çšã§ããããšãæå³ããŸãã Amazon AWSã§ãã¡ã€ã³åãã¬ã³ã¿ã«ããã«ã¯ãããŸããŸãªæéãããããŸãã ç§ã®å Žåãè²»çšã¯12ç±³ãã«ã§ãã 幎ã«1åæ¯æãããŸãã 24æé以å
ã«ããã¡ã€ã³åã䜿çšã§ããããã«ãªããŸãã
Amazon EC2
- EC2ã«ç§»å
- å³åŽã®ãã€ã³ã¹ã¿ã³ã¹ãã®é
ç®ãéžæããŸã
- ãã€ã³ã¹ã¿ã³ã¹ã®èµ·åããã¯ãªãã¯ããŸã
- [ç¡æå©çšæ ã®ã¿]ãã§ãã¯ããã¯ã¹ããªã³ã«ããŠãã¹ã¯ãªãŒã³ã·ã§ããã«ç€ºãããã«[éžæ]ãéžæããŸãã
- [次ãžïŒã€ã³ã¹ã¿ã³ã¹ã®è©³çŽ°ãèšå®]ãã¯ãªãã¯ããŸã
- [次ãžïŒã¹ãã¬ãŒãžãè¿œå ]ãã¯ãªãã¯ããŸã
- ãã£ã¹ã¯ã®ãµã€ãºãæå®ããŸãã ç§ã®å Žåã8ã®ã¬ãã€ãã§ååã§ãã [次ãžïŒã¿ã°ãè¿œå ]ãã¯ãªãã¯ããŸã
- [次ãžïŒã»ãã¥ãªãã£ã°ã«ãŒãã®æ§æ]ãã¯ãªãã¯ããŸã
- [æ°ããã«ãŒã«ãè¿œå ]ãã¯ãªãã¯ããŸãã ãªã¹ãHTTPããœãŒã¹AnywhereããéžæããŸãã ãã®æé ã¯ããµãŒããŒã«Apacheãã€ã³ã¹ããŒã«ãããšãã«ãå€éšããWebãµã€ãã«ã¢ã¯ã»ã¹ã§ããããã«ããããã«å¿
èŠã§ãã [確èªããŠèµ·å]ãã¯ãªãã¯ããŸãã
- ãèµ·åããã¿ã³ãã¯ãªãã¯ããŸãã
- ãã®ãŠã£ã³ããŠã§ãããããããŠã³ãªã¹ããã[æ°ããããŒãã¢ã®äœæ]ãéžæããååãå
¥åããŠ[ããŒãã¢ã®ããŠã³ããŒã]ãã¿ã³ãã¯ãªãã¯ããŸãã 次ã«ããã€ã³ã¹ã¿ã³ã¹ã®èµ·åããã¿ã³ãã¢ã¯ãã£ãã«ãªããŸãã ããŠã³ããŒããã.pemãã¡ã€ã«ã¯ãä¿åã®ããã«å¥ã®å Žæã«ã³ããŒããå¿
èŠããããŸãã ãã®ãã¡ã€ã«ã倱ã£ãŠã¯ãããŸããã ãã®pemãã¡ã€ã«ã䜿çšããŠãWinSCPãšPuttyãä»ããŠã€ã³ã¹ã¿ã³ã¹ã«æ¥ç¶ããŸãïŒèšäºã®åŸåã§ãããããæ§æããæ¹æ³ã«ã€ããŠèª¬æããŸãïŒã
- 5ååŸããµãŒããŒãç«ã¡äžãããæ¥ç¶ã§ããããã«ãªããŸãã æšæºã¢ã«ãŠã³ãã¯ãec2-userãã§ãã ãã©ãŠã¶ãŒã§ã¢ãã¬ã¹ãå
¥åãããšãã«ããµãŒããŒäžã§çºçããWebãµã€ããéãããããã«æ§æããŸãïŒä»¥äžã®æ§ææ¹æ³ã®èª¬æïŒã [ã€ã³ã¹ã¿ã³ã¹]ã»ã¯ã·ã§ã³ã«ç§»åããäœæããä»®æ³ãã·ã³ãéžæããŠã[ãããªãã¯DNS]ãšãããªãã¯IPv4ã¢ãã¬ã¹ã確èªããŸãã ç§ã«ã¯ãã®ããã«èŠããŸãïŒ
ãã®ããŒã¿ãèªåèªèº«ã«ã³ããŒããŸãã ä»ã圌ãå¿ èŠã§ã
- ã«ãŒã53ã«é²ã¿ãŸãã賌å
¥ãããã¡ã€ã³ãéžæããŸãã æåã®Aã¬ã³ãŒããéžæããŸãã å³åŽã®ã¡ãã¥ãŒã§ãã€ã³ã¹ã¿ã³ã¹ã®ãããªãã¯IPv4ã¢ãã¬ã¹ãè¿œå ããŸãã
- [ã¬ã³ãŒãã»ããã®äœæ]ãã¯ãªãã¯ããŸãã éããå³åŽã®ã¡ãã¥ãŒã§ããªã¹ããããCname-canonical nameããéžæããŸãã ãååããã£ãŒã«ãã«ãwwwããšå
¥åããŸãã [å€]ãã£ãŒã«ãã«ã€ã³ã¹ã¿ã³ã¹ã®ã¢ãã¬ã¹ããããªãã¯DNSããå
¥åãã[äœæ]ãã¯ãªãã¯ããŸã
å€æŽã¯24æé以å ã«æå¹ã«ãªããŸãã
PuttyãšWinSCPãæ§æãã
ããããå§ããŸãããã PuTTYãã³ã³ãã¥ãŒã¿ãŒã«ããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããŸãã
- æåã«PuttygenãéããŸãïŒã¢ããªã±ãŒã·ã§ã³ã¯[ã¹ã¿ãŒã]ã¡ãã¥ãŒã®[Putty]ãã©ã«ããŒã«ãããŸãïŒã ãããŒãããã¯ãªãã¯ããŠãEC2ã€ã³ã¹ã¿ã³ã¹ãèµ·åãããšãã«ããŠã³ããŒããã.pemãã¡ã€ã«ãéžæããŸãã
- ãç§å¯éµãä¿åããã¿ã³ãã¯ãªãã¯ããŠããã¡ã€ã«ãä¿åããŸã
- ãããéããŸãã ããã¹ãåãã«ãã€ã³ã¹ã¿ã³ã¹ã®ãIPãã¢ãã¬ã¹ãŸãã¯ããããªãã¯DNSãã¢ãã¬ã¹ãèšè¿°ããŸã
- ã¡ãã¥ãŒã®å·ŠåŽã§ã[æ¥ç¶]-> [SSH]-> [èªèšŒ]ã»ã¯ã·ã§ã³ãéžæããPuttygenã§äœæãã.ppkãã¡ã€ã«ãéžæããŸãã
- ã¡ãã¥ãŒã®å·ŠåŽã®ãã»ãã·ã§ã³ãã»ã¯ã·ã§ã³ã«ç§»åãããä¿åãããã»ãã·ã§ã³ããã£ãŒã«ãã«ãlinuxããšããããã¹ããå
¥åããŠããä¿åããã¿ã³ãã¯ãªãã¯ããŸãã ã»ãã·ã§ã³ã®ãªã¹ãã§ããlinuxããã©ã®ããã«è¿œå ãããããããããŸãã
- ãããã£ãŠã次åãµãŒããŒã«æ¥ç¶ãããšãã¯ãä¿åããæ§æãéžæããŠã[éã]ãã¿ã³ãã¯ãªãã¯ããã ãã§ãã
WinSCPã«ç§»ããŸãããã ã³ã³ãã¥ãŒã¿ãŒã«WinSCPãããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããŸãã
- ããã¹ãåãã«ãIPãã¢ãã¬ã¹ãŸãã¯ããããªãã¯DNSãã€ã³ã¹ã¿ã³ã¹ã¢ãã¬ã¹ãèšè¿°ããŸãã ãŠãŒã¶ãŒåã¯ãec2-userãã§ãã ãã¹ã¯ãŒãã¯ç©ºçœã®ãŸãŸã§ãã ã詳现ããã¿ã³ãã¯ãªãã¯ããŸã
- [èªèšŒ]ã¡ãã¥ãŒã§ã.ppkãã¡ã€ã«ãéžæããŠ[OK]ãã¯ãªãã¯ããŸã
- ãä¿åããã¿ã³ãã¯ãªãã¯ããŠã次åæ¥ç¶ãèšå®ããªãããã«ããŸãã ã¡ãã¥ãŒã®å·ŠåŽã«æ¥ç¶ãã©ã®ããã«è¿œå ãããããããããŸã
Amazon RDS
mysqlãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãäœæããŸãã
- Amazon RDSãéã
- ãéžæããã¿ã³ãã¯ãªãã¯ããŸã
- [éçº/ãã¹ã]ãéžæãã[次ã®ã¹ããã]ãã¯ãªãã¯ããŸã
- ããŒã¿ããŒã¹èå¥åïŒopermonãæã£ãŠããŸãïŒããŠãŒã¶ãŒåããã¹ã¯ãŒããå
¥åããŸãã ã次ã®ã¹ãããããã¯ãªãã¯ããŸã
- EC2ã€ã³ã¹ã¿ã³ã¹ã®äœææã«äœæãããVPCãéžæããããŒã¿ããŒã¹ã®ååãèšå®ããŠããDBã€ã³ã¹ã¿ã³ã¹ã®èµ·åããã¯ãªãã¯ããŸã
- [ã€ã³ã¹ã¿ã³ã¹]ã»ã¯ã·ã§ã³ã®RDS管çã³ã³ãœãŒã«ã«ç§»åããŸãã 5ååŸãããŒã¿ããŒã¹ãå©çšå¯èœã«ãªããããŒã¿ããŒã¹ã®ã¢ãã¬ã¹ããšã³ããã€ã³ããµã€ãã«æžã蟌ãŸããŸãã 圌ãå¿
èŠã§ãã
ã€ã³ã¹ã¿ã³ã¹ãã»ããã¢ããããŸã
Puttyãéããã€ã³ã¹ã¿ã³ã¹ã«æ¥ç¶ããŸãã
- Apacheãã€ã³ã¹ããŒã«ãã
sudo yum install -y httpd24 php56 php56-mysqlnd
- ã€ã³ã¹ããŒã«åŸãå®è¡ããŸã
sudo service httpd start
- wwwãã©ã«ããŒãžã®ã¢ã¯ã»ã¹ãæäŸããŸã
sudo groupadd www sudo usermod -a -G www ec2-user
- Puttyããã°ã©ã ãçµäºããã€ã³ã¹ã¿ã³ã¹ã«åæ¥ç¶ããŠã³ãã³ããèšå®ããŸã
sudo chmod 2775 /var/www find /var/www -type d -exec sudo chmod 2775 {} + find /var/www -type f -exec sudo chmod 0664 {} +
ããã§ãWinSCPã§/ var / www /ãã£ã¬ã¯ããªã«ç§»åããWebãµã€ãããšã³ãžã³ãhtmlãªã©ãã¢ããããŒãã§ããŸãã
phpmyadminãã€ã³ã¹ããŒã«ãã
Puttyãéããã€ã³ã¹ã¿ã³ã¹ã«æ¥ç¶ããŸãã
- phpmyadminãã€ã³ã¹ããŒã«ãã
sudo yum-config-manager --enable epel sudo yum install -y phpMyAdmin
- å€éšã®ãµãŒãã¹ã䜿çšããŠå€éšIPãèŠã€ããã³ãã³ããèšè¿°ããŸã
sudo sed -i -e 's/127.0.0.1/__/g' /etc/httpd/conf.d/phpMyAdmin.conf
IPãå€æŽãããŠããå Žåã¯ãã³ãã³ããèšè¿°ããŸã
sudo tail -n 1 /var/log/httpd/access_log | awk '{ print $1 }' ____ sudo sed -i -e 's/__/_/g' /etc/httpd/conf.d/phpMyAdmin.conf
- å€æŽãæå¹ã«ããããã«ãApacheãµãŒããŒãåèµ·åããŸã
sudo service httpd restart
- 次ã«ãããŒã¿ããŒã¹ã«æ¥ç¶ããããã«phpmyadminãæ§æããå¿
èŠããããŸã
sudo chmod -R 777 /etc/phpMyAdmin
- WinSCPãéããã¢ãã¬ã¹/ etc / phpmyadminã«ç§»åããconfig.inc.phpãã¡ã€ã«ãã³ããŒããŠä»»æã®ããã¹ããšãã£ã¿ãŒã§éããŸãã 以äžã«ç€ºãè¡ãèŠã€ããŠãç¬èªã®è¡ã«å€æŽããŸãã
$cfg['Servers'][$i]['host'] = 'Endpoint '; $cfg['Servers'][$i]['port'] = '3306'; $cfg['Servers'][$i]['user'] = ' '; $cfg['Servers'][$i]['password'] = '';
- ãã¡ã€ã«ãä¿åãããµãŒããŒã«äžæžãããŸãã ãã¡ã€ã«ãäžæžãããããšãããšã©ãŒãçºçããŸãããå±æ§ã¯å€æŽãããŠããŸããã ãã¹ãããããã¯ãªãã¯ããŠãPuttyã«ã³ãã³ããå
¥åããŸãã
sudo chmod -R 755 /etc/phpMyAdmin
ãã®ã³ãã³ããå®è¡ãããªãå ŽåãPhpmyadminã¯ãã¡ã€ã«ã®ã¢ã¯ã»ã¹èš±å¯ãå€æŽãããŠãããã»ãã¥ãªãã£ããªã·ãŒã«æºæ ããŠããªããšããäºå®ãåç §ããŠéãããšãæåŠããŸãã
WorkMailãã»ããã¢ãããã
WorkMailãšã¯äœã§ããïŒ
Amazon WorkMailã¯ãæ¢åã®ãã¹ã¯ãããããã³ã¢ãã€ã«Eã¡ãŒã«ã¯ã©ã€ã¢ã³ãããµããŒããããå
ç¢ãªç®¡çãããããžãã¹Eã¡ãŒã«ããã³ã«ã¬ã³ããŒãµãŒãã¹ã§ãã Amazon WorkMailã䜿çšãããšããŠãŒã¶ãŒã¯ãMicrosoft OutlookãiOSããã³Androidçšã®ã¡ãŒã«ã¢ããªã±ãŒã·ã§ã³ãIMAPããµããŒãããã¡ãŒã«ã¯ã©ã€ã¢ã³ããªã©ã®äŸ¿å©ãªã¡ãŒã«ã¯ã©ã€ã¢ã³ãã䜿çšããŠããŠã§ããã©ãŠã¶ãŒããçŽæ¥ã¡ãŒã«ãé£çµ¡å
ãã«ã¬ã³ããŒã«èªç±ã«ã¢ã¯ã»ã¹ã§ããŸãã
- Amazon AWSã³ã³ãœãŒã«ã§æ€çŽ¢ãè¡ããWorkMailãèŠã€ããŸã
- çµç¹ã®è¿œå ãéžæããŸã
- ãã¯ã€ãã¯ã»ããã¢ããããã¯ãªãã¯ããŸã
- çµç¹ã®ååãå
¥åãããäœæããã¯ãªãã¯ããŸãã ç§ã®å Žåãçµç¹ã¯ãã§ã«äœæãããŠããã®ã§ã2çªç®ã®ã¹ã¯ãªãŒã³ã·ã§ããã®ãªã¹ãã§ãopermonããã¯ãªãã¯ããŸãã
- [ãã¡ã€ã³]ã»ã¯ã·ã§ã³ã«ç§»åãã[ãã¡ã€ã³ãè¿œå ]ãã¯ãªãã¯ããŸã
- ãã¡ã€ã³åãå
¥åããããã¡ã€ã³ãè¿œå ããã¯ãªãã¯ããŸã
- ãã¡ã€ã³åã®èšå®ã§ãã«ãŒã53ã«ãã¹ãŠã®ãšã³ããªãå
¥åããå¿
èŠãããããŒãžãéããŸãã èªåã§èšå®ãæžãããšãã§ãããšæããŸãã
ãã®åŸãããã«æ»ã£ãŠããŸã
- [ãŠãŒã¶ãŒ]ã»ã¯ã·ã§ã³ã«ç§»åãã[ãŠãŒã¶ãŒã®äœæ]ãã¯ãªãã¯ããŸã
- åãå§ã衚瀺åãå
¥åããã次ã®ã¹ãããããã¯ãªãã¯ããŸã
- ã¡ãŒã«ã¢ãã¬ã¹ãèšå®ãããªã¹ãããdomain.comãéžæãããã¹ã¯ãŒããèšå®ããŠããŠãŒã¶ãŒãè¿œå ããã¯ãªãã¯ããŸã
ããã§ã your_domain.awsapps.com / mailã«ã¢ã¯ã»ã¹ããŠã¡ãŒã«ã«ã¢ã¯ã»ã¹ã§ããŸãã
Amazon SESãã»ããã¢ãããã
- Amazon SESãéãã[ãã¡ã€ã³]ã»ã¯ã·ã§ã³ã«ç§»åããŠã[æ°ãããã¡ã€ã³ã®ç¢ºèª]ãã¯ãªãã¯ããŸãã éãããŠã£ã³ããŠã§ãã¢ãã¬ã¹ïŒç§ã®å Žåã¯opermon.comïŒãå
¥åãã[ãã®ãã¡ã€ã³ã確èª]ãã¯ãªãã¯ããŸã
- ãã®ãŠã£ã³ããŠãéããŸãã ãã®ãŠã£ã³ããŠã«èšé²ãããããŒã¿ã¯åã³Route 53ã«å
¥åããå¿
èŠããããŸã
- [é»åã¡ãŒã«ã¢ãã¬ã¹]ã»ã¯ã·ã§ã³ã«ç§»åãã[æ°ããé»åã¡ãŒã«ã¢ãã¬ã¹ã®ç¢ºèª]ãã¯ãªãã¯ãã以åã«WorkMailã§äœæããé»åã¡ãŒã«ã¢ãã¬ã¹ãå
¥åãã[ãã®é»åã¡ãŒã«ã¢ãã¬ã¹ã®ç¢ºèª]ãã¯ãªãã¯ããŸãã ãã°ããããŠã確èªãªã³ã¯ãèšèŒãããæçŽãæå®ã®äœæã«å±ããŸãã ã¡ãŒã«ãéãã確èªãªã³ã¯ãã¯ãªãã¯ããŸãã ãã®æé ã¯ãWebãµã€ããã·ã¹ãã ãªã©ããéä¿¡ããããµãŒãã¹ã¬ã¿ãŒã§ãWorkMailã§ä»¥åã«äœæããéä¿¡è
ã¢ãã¬ã¹ã䜿çšã§ããããã«ããããã«å¿
èŠã§ãã
- ãSMTPè³æ Œæ
å ±ã®äœæãã»ã¯ã·ã§ã³ã«ç§»åããŸãã SMTPãµãŒããŒã®ã¢ãã¬ã¹ã¯ã©ããã«æžãçããŠããå¿
èŠããããŸãã
- ãäœæããã¯ãªãã¯ããŸã
- ã¢ã«ãŠã³ããäœæããããã°ã€ã³ãšãã¹ã¯ãŒããã³ããŒããŠãã©ããã«ä¿åããŸãã ããããå¿
èŠã«ãªããŸãã
æçŽãéãããã®ã¹ã¯ãªãããèšå®ãã
ç¬èªã®ãšã³ãžã³ã«ã¯Mailã¯ã©ã¹ããããŸãã 次ã®ããã«ãªããŸãã
<?php require_once('app/class/mail/PHPMailerAutoload.php'); class OpermonMail { public static function SendMail($subject = 'none', $email, $name, $surname, $text_body = '', $text_altbody = '') { $config = parse_ini_file('app/config/mail.ini'); $mail = new PHPMailer; $mail->isSMTP(); $mail->Host = $config['MAIL_HOST']; $mail->SMTPAuth = true; $mail->Username = $config['MAIL_USERNAME']; $mail->Password = $config['MAIL_PASSWORD']; $mail->SMTPSecure = 'ssl'; $mail->Port = 465; $mail->setFrom($config['MAIL_SETFROMEMAIL'], $config['MAIL_SETFROMNAME']); $mail->addAddress($email, $name.' '.$surname); $mail->isHTML(true); $mail->Subject = $subject; $mail->Body = $text_body; $mail->AltBody = $text_altbody; if(!$mail->send()) { return $mail->ErrorInfo; } else { return true; } } } ?>
ã³ãŒããããããããã«ãPHPMailerã䜿çšãããŸãã githubã§èŠã€ããããšãã§ããŸãã
ãããŠæçµçã«ããã®ãã¹ãŠã®åŸãã·ã¹ãã ã¯æ©èœããŸããã ç»é²ãããšã確èªã³ãŒãããŠãŒã¶ãŒã«éä¿¡ããïŒAmazon SESãšWorkMailã«å¹²æžããªãããïŒããŠã§ããµã€ãèªäœãéãïŒapacheãã€ã³ã¹ããŒã«ãããAmazon EC2ïŒãããŒã¿ããŒã¹ïŒphpmyadminïŒã®ãšã³ããªã確èªã§ããŸãã å®æããã·ã¹ãã ã®ã¹ã¯ãªãŒã³ã·ã§ãããåå°ããŸãã
æŠã£ãçµæ
![ç»å](https://habrastorage.org/web/77d/b78/a4b/77db78a4b0824c628a7f29b7067aae4c.png)
![ç»å](https://habrastorage.org/web/d71/62f/901/d7162f9010444f8ca644ceae76be1af1.png)
![ç»å](https://habrastorage.org/web/026/bd2/099/026bd209970a4f8d847ad862bedd375c.png)
æ®å¿µãªãããã·ã¹ãã èªäœã«ã€ã³ã¹ããŒã©ãŒãåéããæ¹æ³ãããããŸããã ããã«ãç§ãäœãã§ããåœã§ã¯PayPalã®ããžãã¹ã¢ã«ãŠã³ãã®çš®é¡ã¯ãµããŒããããŠããªããããã·ã¹ãã ã«çŽæ¥æ¯æãæ©èœãæžãããšãã§ããŸããã§ããã ãããã®åŽé¢ãæåã§è¡ãå¿ èŠããããŸãã
ãæž èŽããããšãããããŸããïŒ