Execute the following commands after ssh into vps:
sudo mkdir -p /var/www/example.com
sudo chown -R $USER:$USER /var/www/example.com
cd /var/www/
sudo chown www-data:www-data * -R
sudo usermod -a -G www-data username-logged-in-as
cd
| # For bitfield calculations... | |
| #------------------------------------------------------------------------ | |
| # flag | sale | lease | charter | hide | vertical | |
| #------------------------------------------------------------------------ | |
| # booleans | 1 | 1 | 1 | 1 | 1 | |
| #------------------------------------------------------------------------ | |
| # position | 1 | 2 | 3 | 4 | 5 | |
| #------------------------------------------------------------------------ | |
| # value | 1 | 2 | 4 | 8 | 16 | |
| # |
| require 'hmac-sha1' | |
| require 'net/https' | |
| require 'base64' | |
| desc "Invalidate files from cloudfront distribution" | |
| task :files, :filenames do |task, args| | |
| CONFIG = YAML.load_file(File.join(RAILS_ROOT, 'config', 'amazon_s3.yml'))[RAILS_ENV] | |
| s3_access = CONFIG['access_key_id'] |
| # I hate this... it's fugly: | |
| order("CEIL((artworks.votes + POW(subscriptions.amount, 2)) / POW(((DATEDIFF(CURDATE(), artworks.created_at)) + 1), 1.5))") | |
| # Would love to be able to do something similar to this (although I like typing *POW!*): | |
| order(((artworks.votes + subscriptions.amount)**2) / (((Time.parse(DateTime.now.to_s) - Time.parse(created_at.to_s) + 1) / 86400).round + 1)^1.5) | |
| # Code could have some boo boos init... this is just as an example fyi |
| scp ~/.ssh/id_rsa.pub [email protected]:~/ | |
| ssh [email protected] | |
| mkdir .ssh | |
| cat id_rsa.pub >> .ssh/authorized_keys | |
| rm id_rsa.pub | |
| chmod go-w ~ | |
| chmod 700 ~/.ssh | |
| chmod 600 ~/.ssh/authorized_keys |
| User | |
| has_many :bookings | |
| | id | name | | |
| --------------- | |
| | 1 | amy | | |
| | 2 | jack | |
| 100 = :continue | |
| 101 = :switching_protocols | |
| 102 = :processing | |
| 200 = :ok | |
| 201 = :created | |
| 202 = :accepted | |
| 203 = :non_authoritative_information | |
| 204 = :no_content | |
| 205 = :reset_content | |
| 206 = :partial_content |
| # SCOPING | |
| within(*find_args) # within('div#delivery-address') do | |
| within(a_node) # fill_in('Street', with: '12 Main Street') | |
| # end | |
| # MATCHERS | |
| have_select(locator, options = {}) # expect(page).to have_select('id', options: ['Yes', 'No']) | |
| # expect(page).to have_select('id', options: [1,2,3], selected: 2) | |
| have_field(locator, options = {}) # expect(page).to have_field('id', placeholder: 'What city do you live in?') | |
| # expect(page).to have_field('id', with: 'Some value', visible: false) |
| # routes.rb (checks if subdomains is present in the request object then sends it off to the correct location) | |
| Rails.application.routes.draw do | |
| constraints MicrositeConstraint do | |
| root to: 'microsites#index', as: 'microsite_root' | |
| end | |
| end | |
| class MicrositeConstraint | |
| def self.matches?(request) | |
| taken = %w( |
| # Found from https://coderwall.com/p/j9btlg/reset-the-mysql-5-7-root-password-in-ubuntu-16-04-lts | |
| # Stop MySQL | |
| sudo service mysql stop | |
| # Make MySQL service directory. | |
| sudo mkdir /var/run/mysqld | |
| # Give MySQL user permission to write to the service directory. | |
| sudo chown mysql: /var/run/mysqld | |
| # Start MySQL manually, without permission checks or networking. | |
| sudo mysqld_safe --skip-grant-tables --skip-networking & |