Development Vagrant Box
This folder contains scripts to set up a virtual machine for PHP, Python and/or NodeJS. You can install any or all of these programs in order to learn, play and even get started developing. It also has a very quick script for setting up MariaDB and creating a user and table called 'mydb' that can be accessed by each of these languages as needed.
This is a work in progress, and posted for casual practice and development environments only. It is NOT recommended that you use this box to do any serious development or create actual hosted environments for production websites.
Setup and Use
- Install Vagrant and VirtualBox before proceeding.
- If you're using Windows, install Cygwin to get better command line capabilities.
- Download this project folder, name it whatever you like, and edit ./resources/Vagrantfile to give your box another name and/or forward its ports (and any others) to other ports on your machine. This one uses a default of 8380 for port 80 and 8480 for port 8080 (to run the Node sample). If this is the only box you're running, chances are the settings will work as-is. (The rest of these instructions will assume that you used 8380 and 8480.)
- Run ./create.sh to build the base Linux environment. In Windows, you can do this by double-clicking the file. In OSX/Linux environments, you can cd into the directory in a terminal and run 'bash ./create.sh' from there. (You can do this in Windows too.)
- When it's finished running, you'll automatically SSH into the new machine's command line. If you ever want to do this again, you can run ./vagrantSSH.sh. If the machine is down for any reason, you can run ./vagrantUp.sh to bring it up and SSH in.
- Once in the command line, you can run any or all of the following to install the various pieces. For playing around, there's no harm in running all 5 of them:
cd /vagrant ./apache-setup.sh ./mariadb-setup.sh ./lamp-setup.sh ./python-setup.sh ./node-setup.sh
- To destroy the box at any time, wiping anything that's inside of the ./box/ folder (so be careful and save your work!) you can run ./destroy.sh.
- To visit the demo pages for each of PHP, Python CGI and NodeJS, try these links:
- A database called 'mydb' with user 'mydb' and password 'mydb' has been created, but more can be created as you wish. To access your MySQL database in the command line with full admin permissions:
- If you'd like to connect using software on your host machine, you can do this via SSH. Here are some instructions.. The following command, executed in the /vagrant/ folder in your host, will show you the settings you need to use when connecting through TCP/IP over SSH:
- If you're interested in using React, and you're on a Windows machine, make sure you run the cmd prompt as Administrator (right-click, "run as administrator") in order to run the ./vagrantUp.sh script so that you can bypass some restrictions on creating symlinks when running react-setup.sh. Once it runs, you should be able to visit https://localhost:8300 in your local browser to view it running on port 3000 in your VM.
Learn on your Own!
Web Design with HTML and CSS
SQL for Databases
PHP and Related Frameworks
Python and Related Frameworks
Node and Express
Learn from Me!
Are you in the NC Triad or Triangle area? Want face-to-face instruction in an indivual or small-group setting with much more personal attention at a much lower cost? I charge $60 per hour for individual tutoring, or as little as $40 per hour for longer commitments. That's about half the price of other local boot camp offerings like UNC Boot Camp. More importantly, it's more modular and focused, saving you money on the things that you already know or aren't ready to learn yet. Instructional quality is top notch: I have years of experience teaching at the college level, a masters in the field, and over 15 years of hands-on experience doing this stuff myself.
Learn more here: https://www.truewindtechnology.com/crash-courses/