How to setup phpmyadmin on a Laravel Homestead box

2019-01-29 16:58发布

I installed it by running sudo apt-get install phpymyadmin and then running

sudo ln -s /usr/share/phpmyadmin/ /usr/share/nginx/html and sudo service nginx restart

but it's not working.

note: I didn't select any of apache2 or lighttpd options when installing.

14条回答
放我归山
2楼-- · 2019-01-29 17:30

As I couldn't comment on the Jyeon solution as my rep isn't high enough, I contribute with this answer; worked for me in Linux (openSUSE Leap) with Vagrant 1.8.1 and laravel/homestead (virtualbox, 0.4.0):

Step 1:

Go to phpMyAdmin website, download the latest version and unzip it into your project directory.

Step 2:

Add to your Homestead.yaml file the following lines:

folders:
    - map: ~/Code/phpMyAdmin
      to: /home/vagrant/Code/phpMyAdmin

Sites:
    - map: phpmyadmin.app
      to: /home/vagrant/Code/phpMyAdmin

Step 3:

Add to your hosts file the following line:

192.168.10.10   phpmyadmin.app

Step 4:

After start your vagrant environment and connects to machine via SSH, set your virtual host to work with phpMyAdmin with the command serve:

cd ~/Code
serve phpmyadmin.app /home/vagrant/Code/phpMyAdmin/

Thats it!

Go to http://phpmyadmin.app it should work, and you can login with your user and password homestead default. The great thing about this method is that you can set up your phpmyadmin so long as you keep it in your Homestead.yaml file and phpMyAdmin in your Code directory.

查看更多
手持菜刀,她持情操
3楼-- · 2019-01-29 17:32

In my case accepted solution works ok except:

$ cd ~/Code && serve phpmyadmin.app /home/vagrant/Code/phpmyadmin
dos2unix: converting file /vagrant/scripts/serve.sh to Unix format ...
 * Restarting nginx nginx                                                                                                                            [fail] 
php5-fpm stop/waiting
php5-fpm start/running, process 4112

For an unknown reason serve command files creating configuration file as seen in:

$ sudo tail -f /var/log/nginx/error.log 
2015/03/18 11:54:16 [emerg] 3671#0: invalid number of arguments in "listen" directive in /etc/nginx/sites-enabled/phpmyadmin.app:2

Edit config:

$ editor /etc/nginx/sites-enabled/phpmyadmin.app

and add 80 to Listen directive at line 2. Apply changes with:

$ sudo service nginx reload
查看更多
倾城 Initia
4楼-- · 2019-01-29 17:33

Option 1:

This will install the latest version of PhpMyAdmin from a shell script I've written. You are welcome to check it out on Github.

  1. Run the following command from your code/projects directory:

    curl -sS https://raw.githubusercontent.com/grrnikos/pma/master/pma.sh | sh
    

Option 2:

This will install PhpMyAdmin (not the latest version) from Ubuntu's repositories. Assuming that your projects live in /home/vagrant/Code :

  1. sudo apt-get install phpmyadmin Do not select apache2 nor lighttpd when prompted. Just hit tab and enter.

  2. sudo ln -s /usr/share/phpmyadmin/ /home/vagrant/code/phpmyadmin

  3. cd ~/Code && serve phpmyadmin.test /home/vagrant/code/phpmyadmin

Note: If you encounter issues creating the symbolic link on step 2, try the first option or see Lyndon Watkins' answer below.

Final steps:

  1. Open the /etc/hosts file on your main machine and add:

    127.0.0.1  phpmyadmin.test
    
  2. Go to http://phpmyadmin.test:8000

查看更多
干净又极端
5楼-- · 2019-01-29 17:34

Step 1:

Go to the phpMyAdmin website, download the latest version and unzip it into your code directory

Step 2:

Open up homestead.yaml file and add these lines

folders:
    - map: /Users/{yourName}/Code/phpMyAdmin
      to: /home/vagrant/Code/phpMyAdmin
sites:
    - map: phpmyadmin.test
      to: /home/vagrant/Code/phpMyAdmin

Step 3:

Open your hosts file and add this line:

127.0.0.1 phpmyadmin.test

Step 4:

You may need to run vagrant provision to load the new configuration if vagrant is already running.


Thats it

Go to http://phpmyadmin.test:8000. It should work from there. Great thing about this method is that if you ever need to destroy your box, you won't ever have to set up phpMyAdmin again so long as you keep your homestead.yaml file and phpMyAdmin in your code directory.

===========

Important update from DaneSoul:

I tried this instruction on Homestead 5.3 and have met a problem "No input file specified" when trying open http://phpmyadmin.test.

And finnaly I found solution:

You need unpack phpmyadmin to

/home/vagrant/Code/phpMyAdmin/public

And write in homestead.yaml

- map: phpmyadmin.test
  to: /home/vagrant/Code/phpMyAdmin/public

So almost all the same, but this /public directory in paths makes it working!

Also, in my configuration I use http://phpmyadmin.test, not http://phpmyadmin.test:8000.

Update Note: Follow this article to change your domain extension.

查看更多
太酷不给撩
6楼-- · 2019-01-29 17:36

A variation on Nikos Gr's answer that seemed a bit simpler (in that it doesn't require a new symbolic link for each project on your Homestead box) and worked for me.

  1. Inside the Homestead box, run sudo apt-get install phpmyadmin. Don't select any of the options during install.
  2. On your host machine, add the following lines to your Homestead.yaml file:

    - map: phpmyadmin.dev to: /usr/share/phpmyadmin

  3. On your host machine, add the following line to your hosts file:

    192.168.10.10 phpmyadmin.dev

...and Homestead's phpMyAdmin will be available at phpmyadmin.dev

查看更多
▲ chillily
7楼-- · 2019-01-29 17:37

Install phpMyAdmin

  • SSH into Homestead vagrant box with vagrant ssh and type the following command:

     sudo apt-get install phpmyadmin
    
  • When prompted to select the Web server, select apache2 and press Enter, just to get pass it.

  • When prompted to config database for phpmyadmin with dbconfig-common, select Yes and press Enter.

  • When prompted for Password of the database's administrative user, enter secret and press Enter.

  • When prompted for MySQL application password for phpmyadmin, enter secret and press Enter.

  • When prompted for Password confirmation, enter secret again and press Enter.

Then Create and config site for Nginx

sudo ln -s /usr/share/phpmyadmin/ /usr/share/nginx/html/phpmyadmin

cd /etc/nginx/sites-available
sudo cp homestead.app phpmyadmin.app

sudo sed -i 's/homestead.app/phpmyadmin.app/g' /etc/nginx/sites-available/phpmyadmin.app
sudo sed -i 's/home\/vagrant\/Code\/Laravel\/public/usr\/share\/nginx\/html\/phpmyadmin/g' /etc/nginx/sites-available/phpmyadmin.app

sudo ln -s /etc/nginx/sites-available/phpmyadmin.app /etc/nginx/sites-enabled/phpmyadmin.app
sudo service nginx restart
sudo service php5-fpm retart

Adding phpMyAdmin.app to your hosts file

 127.0.0.1   phpmyadmin.app

Navigate to http://phpmyadmin.app:8000 and you should now see phpMyAdmin login page.

More info available here if you need it

查看更多
登录 后发表回答