title: Digital Ocean Deployment Laravel
body: <p>I'm having a bit of trouble deploying a new laravel app to my digital ocean account. I followed the steps outline in this tutorial:
  <a href="http://davidmyers.name/post/laravel-on-digital-ocean" rel="nofollow">http://davidmyers.name/post/laravel-on-digital-ocean</a></p>
  
  <p>Yet I find that upon trying to access the index page, I get:</p>
  
  <pre><code>Forbidden
  
  You don't have permission to access / on this server.
  
  Apache/2.4.7 (Ubuntu) Server at www.scheduleify.com Port 80
  </code></pre>
  
  <p>However, I am able to access PHPMyAdmin just fine by going to www.scheduleify.com/phpmyadmin</p>
  
  <p>I have a feeling this has something to do with setting the default directory to the public folder. </p>
  
  <p>In the article linked above, the author mentions that upon opening the file: 
  <code>/etc/apache2/sites-enabled/000-default.conf</code>  </p>
  
  <p>One should see the following two lines:</p>
  
  <pre><code>DocumentRoot /var/www
  &lt;Directory /var/www&gt;
  </code></pre>
  
  <p>This is my entire file, which seems to lack one of them (I've already modified the one that was there accordingly):</p>
  
  <pre><code>&lt;VirtualHost *:80&gt;
          # The ServerName directive sets the request scheme, hostname and port that
          # the server uses to identify itself. This is used when creating
          # redirection URLs. In the context of virtual hosts, the ServerName
          # specifies what hostname must appear in the request's Host: header to
          # match this virtual host. For the default virtual host (this file) this
          # value is not decisive as it is used as a last resort host regardless.
          # However, you must set it for any further virtual host explicitly.
          #ServerName www.example.com
  
          ServerAdmin webmaster@localhost
          DocumentRoot /root/scheduleify/public
  
          # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
          # error, crit, alert, emerg.
          # It is also possible to configure the loglevel for particular
          # modules, e.g.
          #LogLevel info ssl:warn
  
          ErrorLog ${APACHE_LOG_DIR}/error.log
          CustomLog ${APACHE_LOG_DIR}/access.log combined
  
          # For most configuration files from conf-available/, which are
          # enabled or disabled at a global level, it is possible to
          # include a line for only one particular virtual host. For example the
          # following line enables the CGI configuration for this host 
  
  only   
  #Include conf-available/serve-cgi-bin.conf
  &lt;/VirtualHost&gt;
  
  # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
  </code></pre>
  
  <p>Another thing I noticed: If I ssh into my root directory, and go into the cloned repository/project folder, and try to run php artisan, I get the error:</p>
  
  <pre><code>Mcrypt PHP extension required.
  </code></pre>
  
  <p>However, if I run the command mcrypt from the same directory, I get:</p>
  
  <pre><code>mcrypt: Encrypted data will not be written to a terminal.
  Redirect the output instead.
  Use the --help parameter for more help.
  </code></pre>
  
  <p>Which suggests mcrypt is working. Any input/help is greatly appreciated. I'm very close to giving up, I've been going at this for hours and getting nowhere. </p>
  
  <hr>
  
  <p>Update: The first error was resolved.</p>
  
  <p>The 403 error remains; Checking the apache2 logs, I found this error: </p>
  
  <pre><code>[Fri Jan 16 09:38:31.855624 2015] [core:error] [pid 5641]   
  (13)Permission denied: [client [removed]] AH00035: access to / denied 
  (filesystem path '/root/scheduleify') because search permissions are 
  missing on a component of the path
  </code></pre>