경고 : 최신판이 아닙니다. 이 문서의 오래된 판을 편집하고 있습니다. 이것을 저장하면, 이 판 이후로 바뀐 모든 편집이 사라집니다. 로그인하고 있지 않습니다. 편집하면 당신의 IP 주소가 공개적으로 기록됩니다. 계정을 만들고 로그인하면 편집 시 사용자 이름만 보이며, 위키 이용에 여러 가지 편의가 주어집니다.스팸 방지 검사입니다. 이것을 입력하지 마세요!<noinclude> {{쉽게 알 수 있다 시리즈 |리브레 메뉴얼: 웹 서버 |누구나 할 수 있는 웹서버 구축}} </noinclude> 웹 서버에는 아주 다양한 종류가 있어요. 커뮤니티 사이트를 만들 수도 있고, 개인 쇼핑 사이트를 만들거나, 미디어 스트리밍 혹은 자료 업로드 사이트를 만들 수도 있고 심지어 리브레위키같은 위키 사이트를 만들 수도 있어요! 대부분 다른 사람들이 만든 엔진을 사용하여 간편하게 제작할 수도 있지만, 직접 HTML과 PHP를 공부하여 나만의 사이트를 만들 수도 있습니다. ※효율성과 안정성 등을 고려하여, 아래의 모든 절차는 유닉스 기반의 운영체제를 이미 설치했음을 대전제로 합니다. 일부 사항은 특정 OS별로 다소 차이가 존재할 수 있습니다. ==서버 소프트웨어 설치 == === LAMP 서버 === {{#ifeq:{{{1|}}}|LAMP|<onlyinclude><noinclude>}}</noinclude><!-- LAMP 서버 문단만 출력 --> <includeonly><small>이 문단은 [[시리즈:누구나 할 수 있는 웹서버 구축]] 여기에서 편집해 주세요.</small></includeonly> LAMP는 [[linux|'''L'''inux]][[Apache|'''A'''pache]][[MySQL|'''M'''ysql]][[PHP|'''P'''hp]]의 약자입니다. 개인의 취향에 따라 사용하는 MySQL를 [[MariaDB]]로 바꾸거나 Apache를 [[Nginx]]로 바꾸는 등 다양한 변주가 가능해요. 또한 라즈베리파이에서 사용할 수 있는 거의 모든 OS에서 정상 설치ㆍ작동이 가능한, 가장 범용성과 호환성이 높은 소프트웨어에요. 기능을 설치하기에 앞서, 사용하는 OS를 최신 버전으로 업데이트하는 것이 중요해요. 구 버전의 운영체제는 프로그램 설치 명령이 작동하지 않거나, 엉뚱한 버전으로 설치 시킬 수 있기 때문입니다. 우선 Terminal이란 프로그램을 실행시킵니다. 바탕화면을 우클릭하면 나오는 선택 목록 중 있는 경우가 많지만, 없다면 '''프로그램''' > '''시스템 도구''' > '''터미널''' 에서 찾을 수 있어요. [[File:ttl.png|500px]]<br /> <small>터미널은 다른 말로 '''쉘'''이라고 해요. 윈도우의 '''명령 프롬프트'''같은, 까만 화면에 하얀 글씨를 써서 컴퓨터에게 직접 명령을 내리는 도구에요. 척 보면 복잡해 보이지만 전혀 어렵지 않답니다.</small> 우선 업데이트를 위해선 <syntaxhighlight lang="console"> $ sudo apt update #우분투 패키지 저장소의 업데이트 된 목록을 내려받는다. $ sudo apt upgrade -y #패키지 업데이트 </syntaxhighlight> 를 각각 입력하면 됩니다. SUDO구문을 입력했기 때문에 비밀번호를 입력하라는 창이 표시될 거에요. 이는 터미널에 내가 최고 사용자의 권리로 명령을 허가한다는 것을 증명하기 때문이에요.<ref>SUperuserDO</ref> 이 권한 체제는 유닉스 기반 OS들의 가장 단순하면서 핵심적인 보안 장치의 역할을 합니다. 업데이트가 모두 완료됐다는 문구가 표시되면 바로 아래의 명령어를 입력해주세요. <syntaxhighlight lang="console" > $ sudo apt-get install apache2 mysql-server php php-mysql libapache2-mod-php php-xml </syntaxhighlight> 명령이 길어졌지만 단순히 설치를 원하는 프로그램들의 이름을 나열해놓은 것 뿐이에요. 한 글자 한 글자 입력해도 되지만, 오타가 나올 가능성이 있으니 이 사이트에서 바로 복사 + 붙여넣기를 하면 편합니다. [[File:215550581.jpg|500px]]<br /> 한번에 6개의 프로그램을 설치했기 때문에, 상당히 오랜 시간이 소모될 거에요. MySQL을 설치하는 과정에서 비밀번호를 생성하라고 요구할 때를 제외하곤 까만 화면에 하얀 글씨들이 정신 없이 올라가는 걸 지켜보고 있을 필요는 없어요. 모든 과정은 알아서 해결됩니다. 설치가 모두 완료됐으면 라즈베리파이에 설치된 웹브라우저를 통해 [http://0.0.0.0 0.0.0.0]이나 [http://localhost localhost]를 입력하세요. <br /> [[File:apache-it-works.png|500px]]<br /> 위와 같이 기본 apache의 페이지가 표시됐다면 계속 진행하고, 아니라 한다면 내가 설치한 OS가 PHP7.0을 비롯한 최신 LAMP스택의 설치를 지원하는지 확인해보세요. OS의 문제가 아니라면 모든 프로그램을 다시 설치해보세요. 명령어 창으로 들어가 <syntaxhighlight lang="console" > $ cd /var/www/html </syntaxhighlight> 을 입력해 웹 사이트의 루트 경로로 들어가보세요 <syntaxhighlight lang="console" > pc@pc-desktop:/var/www/html$ ll 합계 12 drwxr-xr-x 2 root root 4096 2월 6 15:55 ./ drwxr-xr-x 4 root root 4096 2월 6 15:55 ../ -rw-r--r-- 1 root root 17 2월 6 15:54 index.html </syntaxhighlight> 경로에 index.html 파일이 있네요 apache 기본 페이지가 바로 index.html입니다. <syntaxhighlight lang="console"> $ sudo rm index.html </syntaxhighlight> 굳이 필요 없으니 이 명령어로 삭제해주세요. 이번엔 php가 설치되었는지 확인해 봅시다. <syntaxhighlight lang="console"> $ sudo nano /var/www/html/info.php </syntaxhighlight> 를 입력해서 php 버전 확인 페이지를 만들어 봅시다. <syntaxhighlight lang="php"> <?php phpinfo(); ?> </syntaxhighlight> 를 복사해서 Ctrl+Shift+V로 붙여넣기해주시고 Ctrl+X로 나가기 y로 저장하기 브라우저에 [http://localhost/info.php localhost/info.php]를 입력하고 들어가면 됩니다. [[File:info_php.png|400px]] 여기서 php 관련 프로그램, 웹 서버 정보들을 확인할 수 있습니다. 이제 mysql을 설정해 봅시다. <syntaxhighlight lang="console" > $ sudo mysql_secure_installation </syntaxhighlight> 를 입력해서 mariadb 기본 보안 설정을 해봅시다. <pre> Enter current password for root (enter for none): root의 비밀번호를 입력, 비번이 없으므로 엔터! Set root password? [Y/n] root 비번 설정 Y나 엔터! New password: 비밀번호 입력 Re-enter new password: 한번 더 Remove anonymous users? [Y/n] 아래는 모두 엔터치면 된다. Disallow root login remotely? [Y/n] --- </pre> 아직 끝난게 아닙니다! mariadb 서버에 한번 직접 접속해봅시다. <syntaxhighlight lang="console" > $ sudo mysql -u root -p </syntaxhighlight> <syntaxhighlight lang="SQL" style=""> /*Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 68 Server version: 10.3.25-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.*/ MariaDB [(none)]> </syntaxhighlight> 이런 새로운 CLI가 나옵니다. 여기서 직접 데이터베이스를 조작하거나 유저를 만들고 데이터베이스를 생성할 수 있어요. 하지만 대부분의 웹 서버는 자동으로 데이터베이스에 접근을 합니다. 취미로 웹 서버를 구축한다면 저 복잡한 SQL 구문을 외울 필요는 없는데 데이터베이스 관련 개발자를 꿈꾼다면 외워봐야 나쁠 것 없지요. {{완료}} LAMP 서버 스택의 설치가 끝났습니다. 아래는 워드프레스나 미디어위키에 사용되는 데이터베이스를 구축하는 방법입니다. <syntaxhighlight lang="SQL" style=""> MariaDB [(none)]> CREATE USER '유저'@'localhost' IDENTIFIED BY '비밀번호 입력'; --Mariadb 유저 생성 MariaDB [(none)]> CREATE DATABASE 데이터베이스_이름; --데이터베이스 생성, 이 데이터베이스에 웹사이트 관련 중요한 데이터가 저장됩니다. MariaDB [(none)]> GRANT ALL PRIVILEGES ON 데이터베이스_이름.* TO '유저'@'localhost' WITH GRANT OPTION; --유저가 방금 생성된 데이터베이스에 접근할 권한을 부여합니다. </syntaxhighlight> <noinclude>{{#ifeq:{{{1|}}}|LAMP|</noinclude></onlyinclude>}} <!-- LAMP 서버 문단만 출력 --> ==== 아치 리눅스에서 설치 ==== 아치는 좀 복잡해집니다.. === [[Node.js]] 기반 서버 === === Caddy 서버 === === flask, django === 여기에 미디어위키나 워드프레스 설치는 좀 머리를 써야한다. [[구글 클라우드 플랫폼|구글 앱 엔진]]에 올려서 웹 앱을 만들 수 있다. * flask: 간단한 웹 앱을 만드는 마이크로 프레임워크. 확장이 쉽다. 초보자에게 적합. * django: flask와는 정반대로 무거운 프레임워크. 하지만 기능이 막강하다. 입문자에게는 뭔가 좀 많아서 복잡할 수 있다. {{각주}} {{리브레 시리즈}} {{퍼온문서|퍼온곳=리브레위키|퍼온문서=시리즈:라즈베리파이 입문|판=1060676}} [[분류:쉽게 알 수 있다 시리즈]] 요약: 리브레 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 라이선스로 배포됩니다(자세한 내용에 대해서는 리브레 위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요. 글이 직접 작성되었거나 호환되는 라이선스인지 확인해주세요. 리그베다 위키, 나무위키, 오리위키, 구스위키, 디시위키 및 CCL 미적용 사이트 등에서 글을 가져오실 때는 본인이 문서의 유일한 기여자여야 하고, 만약 본인이 문서의 유일한 기여자라는 증거가 없다면 그 문서는 불시에 삭제될 수 있습니다. 취소 편집 도움말 (새 창에서 열림) | () [] [[]] {{}} {{{}}} · <!-- --> · [[분류:]] · [[파일:]] · [[미디어:]] · #넘겨주기 [[]] · {{ㅊ|}} · <onlyinclude></onlyinclude> · <includeonly></includeonly> · <noinclude></noinclude> · <br /> · <ref></ref> · {{각주}} · {|class="wikitable" · |- · rowspan=""| · colspan=""| · |} {{lang|}} · {{llang||}} · {{인용문|}} · {{인용문2|}} · {{유튜브|}} · {{다음팟|}} · {{니코|}} · {{토막글}} {{삭제|}} · {{특정판삭제|}}(이유를 적지 않을 경우 기각될 가능성이 높습니다. 반드시 이유를 적어주세요.) {{#expr:}} · {{#if:}} · {{#ifeq:}} · {{#iferror:}} · {{#ifexist:}} · {{#switch:}} · {{#time:}} · {{#timel:}} · {{#titleparts:}} __NOTOC__ · __FORCETOC__ · __TOC__ · {{PAGENAME}} · {{SITENAME}} · {{localurl:}} · {{fullurl:}} · {{ns:}} –(대시) ‘’(작은따옴표) “”(큰따옴표) ·(가운뎃점) …(말줄임표) ‽(물음느낌표) 〈〉(홑화살괄호) 《》(겹화살괄호) ± − × ÷ ≈ ≠ ∓ ≤ ≥ ∞ ¬ ¹ ² ³ ⁿ ¼ ½ ¾ § € £ ₩ ¥ ¢ † ‡ • ← → ↔ ‰ °C µ(마이크로) Å °(도) ′(분) ″(초) Α α Β β Γ γ Δ δ Ε ε Ζ ζ Η η Θ θ Ι ι Κ κ Λ λ Μ μ(뮤) Ν ν Ξ ξ Ο ο Π π Ρ ρ Σ σ ς Τ τ Υ υ Φ φ Χ χ Ψ ψ Ω ω · Ά ά Έ έ Ή ή Ί ί Ό ό Ύ ύ Ώ ώ · Ϊ ϊ Ϋ ϋ · ΐ ΰ Æ æ Đ(D with stroke) đ Ð(eth) ð ı Ł ł Ø ø Œ œ ß Þ þ · Á á Ć ć É é Í í Ĺ ĺ Ḿ ḿ Ń ń Ó ó Ŕ ŕ Ś ś Ú ú Ý ý Ź ź · À à È è Ì ì Ǹ ǹ Ò ò Ù ù · İ Ż ż ·  â Ĉ ĉ Ê ê Ĝ ĝ Ĥ ĥ Î î Ĵ ĵ Ô ô Ŝ ŝ Û û · Ä ä Ë ë Ï ï Ö ö Ü ü Ÿ ÿ · ǘ ǜ ǚ ǖ · caron/háček: Ǎ ǎ Č č Ď ď Ě ě Ǐ ǐ Ľ ľ Ň ň Ǒ ǒ Ř ř Š š Ť ť Ǔ ǔ Ž ž · breve: Ă ă Ğ ğ Ŏ ŏ Ŭ ŭ · Ā ā Ē ē Ī ī Ō ō Ū ū · à ã Ñ ñ Õ õ · Å å Ů ů · Ą ą Ę ę · Ç ç Ş ş Ţ ţ · Ő ő Ű ű · Ș ș Ț ț 이 문서에서 사용한 틀: 틀:Skin (원본 보기) (준보호됨)틀:각주 (원본 보기) (준보호됨)틀:고지 상자 (원본 보기) (보호됨)틀:둘러보기 상자 (원본 보기) (보호됨)틀:둘러보기 상자/중첩 (원본 보기) (준보호됨)틀:둘러보기 상자/핵심 (원본 보기) (보호됨)틀:리브레 시리즈 (편집) 틀:쉽게 알 수 있다 시리즈 (편집) 틀:알림바 (원본 보기) (보호됨)틀:완료 (원본 보기) (준보호됨)틀:틀바 (원본 보기) (준보호됨)틀:퍼온문서 (원본 보기) (준보호됨)이 문서는 다음의 숨은 분류 1개에 속해 있습니다: 분류:퍼온 문서