 
        Saunved
Joined
        10 Experience
      
    
        0 Lessons Completed
      
    
        0 Questions Solved
      
    Activity
Here are some links and tips I found helpful while setting up the production server. Feel free to add to this by commenting below or suggest any edits:
- Refer to this link to understand how to set up a Rails server on 18.04: https://gorails.com/deploy/ubuntu/18.04
- Refer to this link if you get a packet_write waitorbroken_pipeerror: https://www.digitalocean.com/community/questions/why-am-i-getting-packet_write_wait-connection-to-xxx-xx-xx-xxx-port-22-broken-pipe?answer=41458 This error usually comes up when you are installing Ruby on the production server and the client thinks the server is inactive.
- Make sure database.yml,secrets.yml,application.ymlfiles are created manually on the server (in thesharedfolder)
- Edit nginx /etc/nginx/sites-enabled/app-namefile and make sure it points to the correct directory. Refer to this link: https://www.digitalocean.com/community/tutorials/how-to-move-an-nginx-web-root-to-a-new-location-on-ubuntu-18-04
- Make sure MySQL privileges are provided to the deploy user
- If you are using GitLab, you'll need to generate SSH public and secret keys on the server and then add the public key to the GitLab user settings. 
 The steps to do that are as follows:- su deploy
- ssh-keygen -t rsa -b 2048
- Press ENTERthrice
- cat /home/<user-name>/.ssh/id_rsa.pubto obtain the SSH key
- Navigate to: https://gitlab.com/profile/keys and paste your key there
- You should be able to use Capistrano with GitLab now (as long as you have followed all the other instructions in the main article and setup deploy.rb correctly)
 
- Make sure production secret key is set (this can be generated locally using - rails secret) and then added to the- secrets.ymlfile in the production server