<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Aaron Dunphy</title>
    <description>The latest articles on DEV Community by Aaron Dunphy (@aarondunphy).</description>
    <link>https://dev.to/aarondunphy</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F130124%2F8b5ed4bb-33a2-4d84-88d4-6854fb998aff.jpg</url>
      <title>DEV Community: Aaron Dunphy</title>
      <link>https://dev.to/aarondunphy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aarondunphy"/>
    <language>en</language>
    <item>
      <title>Do you need a Degree to be a Web Developer in 2022?</title>
      <dc:creator>Aaron Dunphy</dc:creator>
      <pubDate>Mon, 07 Feb 2022 12:32:05 +0000</pubDate>
      <link>https://dev.to/aarondunphy/do-you-need-a-degree-to-be-a-web-developer-in-2022-5gka</link>
      <guid>https://dev.to/aarondunphy/do-you-need-a-degree-to-be-a-web-developer-in-2022-5gka</guid>
      <description>&lt;p&gt;&lt;strong&gt;No, thanks for reading.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Joking aside, you do not need a degree to be a web developer for the majority of jobs out there. There will be a few that want a web developer / software engineer with a degree in computer science or related field but more often than not, most companies will be looking at your skills that you can showcase as part of a portfolio than a degree paper that says you attended for 3 years.&lt;/p&gt;

&lt;h2&gt;
  
  
  I have a degree in web development
&lt;/h2&gt;

&lt;p&gt;I actually have a degree in Web Technologies but only because I had no idea what I wanted to do when leaving school/college. I originally went to University studying Multimedia as I liked using photoshop but once I discovered web development in my first year I switched degrees and never looked back. Would I do the same in hind-sight? No.&lt;/p&gt;

&lt;h2&gt;
  
  
  With hindsight I wouldn't have spent the time/money to get a University degree
&lt;/h2&gt;

&lt;p&gt;Before going to University (2012) I never really knew web development existed, let alone it could be a career funnily enough. If I were thinking about getting into web development now there is no way I would go to University (unless I wanted to get into academia or wanted to live that student life). The takeaway I got from University was that I had a portfolio and this is what helped me land a job straight out of University and not a degree certificate saying I attended for 3 years. My advice to you reading this and my previous self would be to either self teach and build a portfolio or go to a bootcamp and build a portfolio.&lt;/p&gt;

&lt;h2&gt;
  
  
  Self teach + build portfolio
&lt;/h2&gt;

&lt;p&gt;If you don't really have the money or time to attend a bootcamp then self teaching is a great way to get into web development. You will need to be self motivated, disciplined and ready to work hard as this isn't the easiest approach. To be able to land a job I would recommend you need to learn the fundamentals of HTML, CSS, JavaScript (also an understanding of frameworks like React or Vue.js). Don’t try and fast track/skip this part, it is so crucial to really understand what is going on and why as it will help interview better and lead to faster growth in the long run. Once you understand the basics you should create your own personal website and create multiple different projects showcasing you know how to use HTML, CSS, JavaScript as this will really help you land that first job.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bootcamp + build portfolio
&lt;/h2&gt;

&lt;p&gt;If you have the money or are open to financing then a bootcamp is an absolute no brainer in my opinion. Most of these bootcamps are structured to help you land your first job and often have connections to get you interviews. This is the route I would take if I knew I wanted to be a web developer today as once you complete the bootcamp you will have gained technical experience, built projects and worked within a team environment. These are super valuable skills when you're looking for your first job in web development. A bootcamp will be there to give you support so you overcome the important obstacles early on, quicker.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;You do not need a degree to become a Web Developer, it can help but there are more time and cost effective ways such as self teaching or attending a bootcamp. In my opinion the best way to become a Web Developer in 2022 is to invest in a bootcamp and after 3-6 months you will be able to land your first junior developer position.&lt;/p&gt;

&lt;p&gt;If you are looking to start a career in Web Development or are a Junior Developer looking for a mentor, feel free to reach out via socials and I will help you achieve your goals by using my experience to help guide you.&lt;/p&gt;

</description>
      <category>degree</category>
      <category>bootcamp</category>
      <category>developer</category>
      <category>career</category>
    </item>
    <item>
      <title>My Top 5 Tech Podcasts 2020</title>
      <dc:creator>Aaron Dunphy</dc:creator>
      <pubDate>Mon, 17 Aug 2020 00:00:00 +0000</pubDate>
      <link>https://dev.to/aarondunphy/my-top-5-tech-podcasts-2020-40k</link>
      <guid>https://dev.to/aarondunphy/my-top-5-tech-podcasts-2020-40k</guid>
      <description>&lt;h2&gt;
  
  
  &lt;a href="https://syntax.fm/"&gt;Syntax&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Hosted by &lt;a href="https://wesbos.com/"&gt;Wes Bos&lt;/a&gt; and &lt;a href="https://www.scotttolinski.com/"&gt;Scott Tolinski&lt;/a&gt;. Syntax is a great listen if you're interested in full stack development / javascript as they always have some great tips and conversations. Also their intro is the best out there.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://laravelpodcast.com/"&gt;The Laravel Podcast&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Hosted by &lt;a href="https://mattstauffer.com/"&gt;Matt Stauffer&lt;/a&gt;. The Laravel Podcast is amazing if you want to hear from some really interesting people from the Laravel community such as Jeffrey Way, Marcel Pociot and Jonathan Reinink.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://twentypercenttime.simplecast.com/"&gt;Twenty Percent Time&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Hosted by &lt;a href="https://tighten.co/"&gt;Tighten Co&lt;/a&gt;. I've found the Twenty Percent Time podcast great for topics around your dev job such as being organised and imposter syndrome.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.fullstackradio.com/"&gt;Full Stack Radio&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Hosted by &lt;a href="https://adamwathan.me/"&gt;Adam Wathan&lt;/a&gt;. Adam's podcast Full Stack Radio is really insightful to listen to if you're interested in building your own software products as you get to hear first hand from guest speakers on certain topics.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://blog.laravel.com/snippets"&gt;The Laravel Snippet&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Hosted by &lt;a href="https://twitter.com/taylorotwell"&gt;Taylor Otwell&lt;/a&gt;. From the creator of Laravel, The Laravel Snippet is a quick and easy podcast to listen to if you want to hear from him on what he and the team at Laravel are working on lately and his views on certain topics.&lt;/p&gt;




&lt;p&gt;What are your favourite podcasts?&lt;/p&gt;

</description>
      <category>podcast</category>
      <category>tech</category>
    </item>
    <item>
      <title>How to Setup Quick SSH Access</title>
      <dc:creator>Aaron Dunphy</dc:creator>
      <pubDate>Thu, 19 Mar 2020 20:59:45 +0000</pubDate>
      <link>https://dev.to/aarondunphy/how-to-setup-quick-ssh-access-2h91</link>
      <guid>https://dev.to/aarondunphy/how-to-setup-quick-ssh-access-2h91</guid>
      <description>&lt;p&gt;In this article you will learn how you can set up a quick and easy way to SSH onto any server without needing to remember the user or IP address. This will work by  running a command similar to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh server_name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Machine Setup
&lt;/h2&gt;

&lt;p&gt;Check if your machine already has a public SSH key generated:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cat&lt;/span&gt; ~/.ssh/id_rsa.pub
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you see “No such file or directory” then generate a SSH key otherwise skip this step (click enter at all prompts):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh-keygen
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Edit the SSH config file to setup quick SSH access to a server from your local machine:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;nano ~/.ssh/config
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ensure all hosts use key chain is at the top of the file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Host &lt;span class="k"&gt;*&lt;/span&gt;
     UseKeyChain &lt;span class="nb"&gt;yes&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then you can insert as many host references as you would like. Insert the following (changing the server_name, ip_address and server_user):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Host server_name
     HostName ip_address
     User server_user
     IdentityFile ~/.ssh/id_rsa
     IdentitiesOnly &lt;span class="nb"&gt;yes&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Copy your machine's ssh public key:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cat&lt;/span&gt; ~/.ssh/id_rsa.pub
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Server Setup
&lt;/h2&gt;

&lt;p&gt;Add your machine's SSH public key to the server's authorized_keys file (you will need to SSH onto the server with &lt;code&gt;ssh user@ip&lt;/code&gt; first):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;nano ~/.ssh/authorized_keys
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;You can then ssh on via&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh server_name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>sysadmin</category>
      <category>ssh</category>
      <category>servers</category>
    </item>
    <item>
      <title>How to Deploy a Laravel Application on a Fresh Install of Debian 10</title>
      <dc:creator>Aaron Dunphy</dc:creator>
      <pubDate>Sun, 14 Jul 2019 18:57:21 +0000</pubDate>
      <link>https://dev.to/aarondunphy/how-to-deploy-a-laravel-application-on-a-fresh-install-of-debian-10-do9</link>
      <guid>https://dev.to/aarondunphy/how-to-deploy-a-laravel-application-on-a-fresh-install-of-debian-10-do9</guid>
      <description>&lt;h2&gt;
  
  
  Create a new user so we are not using root
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;adduser admin
usermod &lt;span class="nt"&gt;-aG&lt;/span&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;admin
su admin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Install Apache
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;apache2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Install PHP7.3
&lt;/h2&gt;

&lt;p&gt;Add PHP7.3 repository&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;lsb-release apt-transport-https ca-certificates
&lt;span class="nb"&gt;sudo &lt;/span&gt;wget &lt;span class="nt"&gt;-O&lt;/span&gt; /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
&lt;span class="nb"&gt;sudo echo&lt;/span&gt; &lt;span class="s2"&gt;"deb https://packages.sury.org/php/ &lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;lsb_release &lt;span class="nt"&gt;-sc&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt; main"&lt;/span&gt; | &lt;span class="nb"&gt;sudo tee&lt;/span&gt; /etc/apt/sources.list.d/php7.3.list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then install&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;php7.3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verify PHP was installed correctly&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php &lt;span class="nt"&gt;-v&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install common PHP extensions&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;php7.3-cli php7.3-fpm php7.3-json php7.3-pdo php7.3-mysql php7.3-zip php7.3-gd  php7.3-mbstring php7.3-curl php7.3-xml php7.3-bcmath php7.3-json php7.3-zip
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you need any other extensions, you can install with&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;php7.3-&amp;lt;entension-name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Install MariaDB
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;mariadb-server mariadb-client
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then secure the database, set a strong password, remove anonymous user, disable remote login for root and remove test database&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;mysql_secure_installation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can now connect to MariaDB&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mysql &lt;span class="nt"&gt;-u&lt;/span&gt; root &lt;span class="nt"&gt;-p&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Set up Virtual Host
&lt;/h2&gt;

&lt;p&gt;Create the directory of where your application will live (replace "example.com" with your domain)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; /var/www/example.com/public
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a dummy holding page so we can test the virtual host configuration has worked&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;nano /var/www/example.com/public/index.html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then insert and save&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Example.com!&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Hello World&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a name based virtual host configuration file to allow Apache to serve it&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;nano /etc/apache2/sites-available/example.com.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then insert and save (replace all refences of example.com with your own domain)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight conf"&gt;&lt;code&gt;&amp;lt;&lt;span class="n"&gt;VirtualHost&lt;/span&gt; *:&lt;span class="m"&gt;80&lt;/span&gt;&amp;gt;

&lt;span class="n"&gt;ServerAdmin&lt;/span&gt; &lt;span class="n"&gt;example&lt;/span&gt;@&lt;span class="n"&gt;me&lt;/span&gt;.&lt;span class="n"&gt;com&lt;/span&gt;
&lt;span class="n"&gt;ServerName&lt;/span&gt; &lt;span class="n"&gt;example&lt;/span&gt;.&lt;span class="n"&gt;com&lt;/span&gt;
&lt;span class="n"&gt;ServerAlias&lt;/span&gt; &lt;span class="n"&gt;www&lt;/span&gt;.&lt;span class="n"&gt;example&lt;/span&gt;.&lt;span class="n"&gt;com&lt;/span&gt;
&lt;span class="n"&gt;DocumentRoot&lt;/span&gt; /&lt;span class="n"&gt;var&lt;/span&gt;/&lt;span class="n"&gt;www&lt;/span&gt;/&lt;span class="n"&gt;example&lt;/span&gt;.&lt;span class="n"&gt;com&lt;/span&gt;/&lt;span class="n"&gt;public&lt;/span&gt;

&amp;lt;&lt;span class="n"&gt;Directory&lt;/span&gt; /&lt;span class="n"&gt;var&lt;/span&gt;/&lt;span class="n"&gt;www&lt;/span&gt;/&lt;span class="n"&gt;example&lt;/span&gt;.&lt;span class="n"&gt;com&lt;/span&gt;&amp;gt;
    &lt;span class="n"&gt;AllowOverride&lt;/span&gt; &lt;span class="n"&gt;all&lt;/span&gt;
    &lt;span class="n"&gt;Require&lt;/span&gt; &lt;span class="n"&gt;all&lt;/span&gt; &lt;span class="n"&gt;granted&lt;/span&gt;
&amp;lt;/&lt;span class="n"&gt;Directory&lt;/span&gt;&amp;gt;

&lt;span class="n"&gt;ErrorLog&lt;/span&gt; ${&lt;span class="n"&gt;APACHE_LOG_DIR&lt;/span&gt;}/&lt;span class="n"&gt;example&lt;/span&gt;.&lt;span class="n"&gt;com_error&lt;/span&gt;.&lt;span class="n"&gt;log&lt;/span&gt;
&lt;span class="n"&gt;CustomLog&lt;/span&gt; ${&lt;span class="n"&gt;APACHE_LOG_DIR&lt;/span&gt;}/&lt;span class="n"&gt;example&lt;/span&gt;.&lt;span class="n"&gt;com_access&lt;/span&gt;.&lt;span class="n"&gt;log&lt;/span&gt; &lt;span class="n"&gt;combined&lt;/span&gt;

&amp;lt;/&lt;span class="n"&gt;VirtualHost&lt;/span&gt;&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now let's enable the configuration file with Apache&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;a2ensite example.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Restart Apache for the configuration file to kick in&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;service apache2 restart
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As long as your domain is pointing to your server's IP address, you should now be able to see the dummy html file we added earlier by going to your domain e.g - &lt;a href="http://example.com"&gt;http://example.com&lt;/a&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  Clone your Laravel app with Git
&lt;/h2&gt;

&lt;p&gt;Install Git&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Generate a ssh key for your server to communicate with GitHub&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh-keygen
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Copy your server's SSH public key and add it to your GitHub's repository deploy keys which can be found under the repository settings (I would suggest not enabling write access)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cat&lt;/span&gt; ~/.ssh/id_rsa.pub
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Change directory to your domain&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /var/www/example.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Delete the public directory from one of the previous instructions above so it is completely empty&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo rm&lt;/span&gt; &lt;span class="nt"&gt;-rf&lt;/span&gt; public/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Update the directory so it is owned by the admin user but accessible by apache&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo chown&lt;/span&gt; &lt;span class="nt"&gt;-R&lt;/span&gt; server-user:www-data /var/www/example.com/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Clone your repository with ssh (you can get this from your repository on GitHub)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone git@github.com:&amp;lt;YourUserName&amp;gt;/&amp;lt;YourRepository&amp;gt;.git &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Update file/directory ownerships again after cloning and also ensure apache can read/write to the storage and cache.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo chown&lt;/span&gt; &lt;span class="nt"&gt;-R&lt;/span&gt; server-user:www-data /var/www/example.com/
find /var/www/example.com/ &lt;span class="nt"&gt;-type&lt;/span&gt; f &lt;span class="nt"&gt;-exec&lt;/span&gt; &lt;span class="nb"&gt;chmod &lt;/span&gt;664 &lt;span class="o"&gt;{}&lt;/span&gt; &lt;span class="se"&gt;\;&lt;/span&gt;    
find /var/www/example.com/ &lt;span class="nt"&gt;-type&lt;/span&gt; d &lt;span class="nt"&gt;-exec&lt;/span&gt; &lt;span class="nb"&gt;chmod &lt;/span&gt;775 &lt;span class="o"&gt;{}&lt;/span&gt; &lt;span class="se"&gt;\;&lt;/span&gt;
&lt;span class="nb"&gt;chgrp&lt;/span&gt; &lt;span class="nt"&gt;-R&lt;/span&gt; www-data storage bootstrap/cache
&lt;span class="nb"&gt;chmod&lt;/span&gt; &lt;span class="nt"&gt;-R&lt;/span&gt; ug+rwx storage bootstrap/cache
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Install composer
&lt;/h2&gt;

&lt;p&gt;Following their &lt;a href="https://getcomposer.org/download/"&gt;official docs&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php &lt;span class="nt"&gt;-r&lt;/span&gt; &lt;span class="s2"&gt;"copy('https://getcomposer.org/installer', 'composer-setup.php');"&lt;/span&gt;
php &lt;span class="nt"&gt;-r&lt;/span&gt; &lt;span class="s2"&gt;"if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"&lt;/span&gt;
php composer-setup.php
php &lt;span class="nt"&gt;-r&lt;/span&gt; &lt;span class="s2"&gt;"unlink('composer-setup.php');"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then move it so it can be accessed &lt;a href="https://getcomposer.org/doc/00-intro.md#globally"&gt;globally&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo mv &lt;/span&gt;composer.phar /usr/local/bin/composer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install dependencies from within your application folder&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /var/www/example.com
composer &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Install npm
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;npm
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install dependencies and run tasks from within your application folder&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /var/www/example.com
npm &lt;span class="nb"&gt;install
&lt;/span&gt;npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Create database
&lt;/h2&gt;

&lt;p&gt;Connect to MariaDB&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mysql &lt;span class="nt"&gt;-u&lt;/span&gt; root &lt;span class="nt"&gt;-p&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create database&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;create database my_db_name&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Happy Deploying!&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>debian</category>
      <category>buster</category>
      <category>php</category>
    </item>
  </channel>
</rss>
