그 유명한 aws.. 처음써봤다

아마존리눅스에서 라라벨을 설치했을때는 자꾸 

아파치 설치 잘됐다는 페이지만 보이고

아무리 httpd.conf 를 건드려도, vhost의 documentroot를 건드려도 라라벨 글자가 나올 생각을 안했다.

그래서 우분투로 넘어왔다..개빡!


아래도 우분투로 설치하면서 중간중간 오류난것들을 해쳐나가는 방법이다.






1. 아마존의 EC2 인스턴스를 생성한다.

http://pyrasis.com/book/TheArtOfAmazonWebServices/Chapter04/03

위 사이트를 참고하여 만들었다.

단계별로 쭉 따라가다가 아마존 리눅스 말고 우분투를 선택하고 나머지 단계와 동일하게 따라갔다.


2. 터미널에

ssh -i pem파일 ubuntu@public ip

로 연결한다!


ssh접속 관련 포스트(짧음)는

http://hplayground.tistory.com/78

를 참조!


참고로 우분투는 ec2-user@ip 가 아니라 ubuntu@ip 로 접속해야 된다




3. 터미널에 아래와 같이 업데이트와 업그레이드를 해준다

참고로 아마존리눅스에서는 apt-get이 아니라 yum으로 해줌

sudo apt-get update
sudo apt-get upgrade


4. 아파치를 설치한다.

Y/n 으로 묻는곳엔 Y 치고 엔터

sudo apt-get install apache2


5. mysql을 설치한다.

Y/n 으로 묻는곳엔 Y 치고 엔터

sudo apt-get install mysql-server mysql-client

   

위와같이 mysql의 패스워드를 입력하는 곳이있으면

적절히 패스워드를 치고 엔터엔터 누르면 mysql도 깔린다.

참고

sudo apt-get install phpmyadmin 을 설치할거라면

위에 입력했던 비밀번호를 phpmyadmin을 설치할때도 똑같이 입력해야 한다.



6. php를 설치한다.

현재 (2016.11.03)를 기준으로 우분투를 설치하면 16.04LTS 버전인데

이 우분투에서는 아래의 명령어를 날리면 php7이 깔린다.

sudo apt-get install php libapache2-mod-php php-gd php-xml php-mysql


7. php가 잘작동하나 일단 확인해본다

cd /var/www/html

를 입력해서 폴더이동 후

sudo vim phpinfo.php

명령어를 날려 phpinfo.php파일을 생성하고, vim에디터에 a키를 눌러 입력모드로 전환한 후에

<?php phpinfo(); ?>

를 적고 esc를 누르고 :wq 를 적는다.


그다음 브라우저에

http://52.00.000.00/phpinfo.php

참고

52.00.000.00는 자신의 public id 

를 들어가보면


이런 페이지를 볼 수 있다


또다른 참고로

filezilla 연결할땐

chown -R ec2-user /var/www/html
chmod -R 755 /var/www/html





여기까지가 APM 설치과정!

아래부터 라라벨을 설치하는 과정이다






8. 이제 라라벨을 설치하기 위해 composer를 설치한다!

cd ~
sudo curl -sS https://getcomposer.org/installer | php

~/로 이동하고나서 composer.phar를 받아온다


sudo mv composer.phar /usr/local/bin/composer
sudo ln -s /usr/local/bin/composer /usr/bin/composer

그리고 순서대로 이렇게 하고나서

sudo composer install

를 하면

Do not run Composer as root/super user! 오류가 난다ㅋㅋㅋㅋㅋ

이럴땐

http://zetawiki.com/wiki/Composer_root_%EA%B2%BD%EA%B3%A0%EB%A9%94%EC%8B%9C%EC%A7%80_%ED%95%B4%EC%A0%9C

위 사이트 참고!

export COMPOSER_ALLOW_SUPERUSER=1 부터 영구적용까지 몽땅 한다


아 근데 사실 composer를 사용해도 뭐 라라벨이 깔릴 생각을 안한다 개빡!

그래서

cd /var/www/html

로 이동해서

sudo git clone https://github.com/laravel/laravel.git

그냥 git으로 clone 받아왔다

그러면 /var/www/html 안에 laravel 폴더로 생기는데

DocumentRoot를 laravel/public으로 바꿔줘야 한다.

그래서

cd /etc/apache2/sites-available/
sudo vim 000-default.conf

vim으로 000-default.conf를 열어서 DocumentRoot를

/var/www/html -> /var/www/html/laravel/public

으로 바꾸고 저장, 닫기

sudo service apache2 start
또는
sudo service apache2 restart

로 아파치를 재가동 시킨다




9. 일단 이쯤에서 한번 라라벨을 가동시켜본다
php artisan serve

PHP Warning:  require(/var/www/html/laravel/bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in /var/www/html/laravel/bootstrap/autoload.php on line 17

오류난다ㅎㅎ 

구글링해보니까 composer update나 composer install 를 하란다.

composer install

또는

composer update

Cannot create cache directory /home/ubuntu/.composer/cache/repo/https---packagist.org/, or directory is not writable. Proceeding without cache

Cannot create cache directory /home/ubuntu/.composer/cache/files/, or directory is not writable. Proceeding without cache

또 오류남ㅎㅎ

뭐 생성할수 없다는것같은데 느낌에 권한문제 같았다

하지만 sudo를 쓰면 또 super user!오류난다

sudo chown -R $USER $HOME/.composer

위 명령어를 날리고 composer install를 하면

 [RuntimeException]                                                     

  /var/www/html/laravel/vendor does not exist and could not be created.

에러가 뜬다

그럼 https://github.com/panique/huge/issues/392 요거 참고해서 오류 픽스하고 다시 composer install를 한다.


그리고 아래와같이 storage와 bootstrap/cache의 권한을 777로 바꿔주고

서버를 켜준다.

sudo chmod -R 777 storage bootstrap/cache
php artisan serve



10. 

http://52.00.000.00 에 접속하면

Whoops, looks like something went wrong 오류가 난다.

그러면

cd /var/www/html/laravel/config

sudo vim app.php

에서 debug => APP_DEBUG 이 부분이 false로 되어있을텐데 이걸 true로 바꾸고 저장,닫기


cd /var/www/html/laravel
sudo vim .env

위처럼 .env를 생성 및 편집기로 열어서


APP_ENV=local
APP_DEBUG=true
APP_KEY=S043rl4v4ABY6PvkTejMejtsLIRipr2d

위의 내용을 고대로 복붙 해주고 :wq





드디어 끝!

이제 다시 브라우저에서 접속하면

이 화면을 볼 수 있다! 예헤

'Programming > PHP' 카테고리의 다른 글

[laravel] welcome.blade.php? blade view  (0) 2016.04.25
[laravel] mac에서 라라벨 설치하고 실행하기  (0) 2016.04.20

먼저 장점, 사용법을 설명하자면

<!DOCTYPE html>

<html>

<head>

...생략...

</head>


<body>

<?php foreach($menus as $menu){     echo $menu; }?>

</body>

</html>

위와 같이 써야할 것을

<!DOCTYPE html>

<html>

<head>

...생략...

</head>


<body>

@foreach($menus as $menu) {{ $menu }} @endforeach

</body>

</html>

이렇게 쓸 수 있다.



blade templete은 laravel에서 제공하는 템플릿 엔진으로

@로 사용해도 되고, 그냥 php문으로 작성해도 된다.

blade view는 .blade.php 확장자를 사용한다.

처음 라라벨을 설치하고 welcome.blade.php라고 되어있길래 뭔가했더니만 바로 이거였다!

APM(Apache + PHP + Mysql)설치부터 라라벨 설치까지는

http://hplayground.tistory.com/79 여길 참고



1. composer 설치하기

laravel을 본격적으로 설치하기 전 composer부터 설치해야한다.

composer은 의존성 관리도구로

이해하기 쉽게 설명하자면 내가 원하는 기능은 명령어 한줄로 빠르게 설치할 수 있는 것이다.

node.js를 공부했다면 npm같은 역할이라고 알아두면 된다.

homebrew로 php를 설치하면 되던데

자세한 설치방법은 http://haruair.com/blog/1860 요기에 매우 잘 정리되어있는 것 같다

난 라라벨 설치만 정리할거니까..



2. composer를 이용해 라라벨 설치

composer global require "laravel/installer"
composer create-project laravel/laravel --prefer-dist

라라벨 프레임워크가 설치될 폴더로 이동한 후 위의 명령어들을 입력한다

나는 Desktop -> laravel 폴더로 이동한 후 위의 명령어들을 입력해 주었다.


그러면





요렇게 laravel폴더 안에 진짜 laravel이 들어있게 된다.



3. 서버 실행해서 잘 설치됐나 확인하기

php artisan serve

그냥 간단하게 서버 키려면 위의 명령어로(자동으로 포트는 8000)

php artisan serve --port=8080

포트를 지정해서 서버를 키려면 위의 명령어로(나는 8080으로)


그럼 터미널창엔 요렇게 뜨고 localhost:8080으로 접속하면


 뜨든!

+ Recent posts