简体   繁体   中英

Running Vagrant on Ubuntu 14.04 console

Is it possible to run Vagrant virtual machines on Ubuntu 14.04? I understand there is no GUI on SSH on this specific VPS server so I assume that is why i'm getting the following error:

The guest machine entered an invalid state while waiting for it
to boot. Valid states are 'starting, running'. The machine is in the
'poweroff' state. Please verify everything is configured
properly and try again.

If the provider you're using has a GUI that comes with it,
it is often helpful to open that and watch the machine, since the
GUI often has more helpful error messages than Vagrant can retrieve.
For example, if you're using VirtualBox, run `vagrant up` while the
VirtualBox GUI is open.

The primary issue for this error is that the provider you're using
is not properly configured. This is very rarely a Vagrant issue.

The issue is i previously used Laravel Homestead on a Windows machine VM with VirtualBox & Vagrant however; I'm currently looking to move it to a VPS. Should I ignore the virtual machine all together or should I create a box some other way? (is it possible)

As per discussion, these are the following steps to install Laravel 5 on your uBuntu.

Assuming you don't have PHP 5, these are the steps to install it :

$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt-get install -y php5.6 php5.6-mcrypt php5.6-gd

If you don't have apache2 installed:

$ apt-get install apache2 libapache2-mod-php5

If you don't have MYSQL installed:

$ apt-get install mysql-server php5.6-mysql

Laravel composer is a must to installed, an internet connection is needed:

$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer
$ sudo chmod +x /usr/local/bin/composer

Install GIT:

$ apt-get install git

Enable mbstring extension for Laravel: https://stackoverflow.com/a/33736248/1589224

Install Laravel 5:

$ cd /var/www
$ git clone https://github.com/laravel/laravel.git

Navigate to Laravel code directory and use composer to install all dependencies required for Laravel framework.

$ cd /var/www/laravel
$ sudo composer install

Dependencies installation will take some time. After than set proper permissions on files.

$ chown -R www-data.www-data /var/www/laravel
$ chmod -R 755 /var/www/laravel
$ chmod -R 777 /var/www/laravel/app/storage

Now you have to set the encryption key :

Now set the 32 bit long random number encryption key, which used by the Illuminate encrypter service.

$ php artisan key:generate

Application key [uOHTNu3Au1Kt7Uloyr2Py9blU0J5XQ75] set successfully.

Now edit config/app.php configuration file and update above generated application key as followings. Also make sure cipher is set properly.

'key' => env('APP_KEY', 'uOHTNu3Au1Kt7Uloyr2Py9blU0J5XQ75'),

'cipher' => 'AES-256-CBC',

Next step is creating Apache VirtualHost

Now add a Virtual Host in your Apache configuration file to access Laravel framework from web browser. Create Apache configuration file under /etc/apache2/sites-available/ directory and add below content.

$ nano /etc/apache2/sites-available/laravel.example.com.conf

You'll either need to be a root or super user to edit it

    ServerName laravel.example.com
    DocumentRoot /var/www/laravel/public

    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/laravel>
            AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined

After you're done , press CTRL+X and type in Y and press Enter

Finally lets enable website and reload Apache service using below command.

$ a2ensite laravel.example.com
$ sudo service apache2 reload

Final step:

Accessing laravel

$ sudo echo "127.0.0.1  laravel.example.com" >> /etc/hosts

And access http://laravel.example.com in your favorite web browser as below.

In your case, you move the websites to /var/www/ and you can already view it.

You can also CHOWN Vagrant on Laravel directory as well.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM