- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要帮助来整理 Vagrantfile。
我正在尝试在我的 Windows 桌面上设置一个虚拟机来处理现有的 PHP/MySQL 应用程序。我被指示使用 Vagrant 和 VirtualBox。我一直在浏览 Vagrant 的文档,发现很多信息都过时了,这让我难以理解。我有一些 Linux 的一般使用背景,但没有在其上设置 LAMP 服务器的经验。
我有什么:
我在 VM 中需要的东西:
最佳答案
我花了几周的时间和大量的过时教程,但我完成了。我正在分享,以便 LAMP 服务堆栈上的其他人有一个地方可以开始制作他们的 vagrantfile。请注意,这样做并非是为了优雅。这是一个快速入门,易于理解和适应个人需求。
与上面的原始帖子有一些小的差异:
包括工作 vagrantfile 和 shell Bootstrap ,大量评论以供理解:https://pastebin.com/Eqvhq8KZ
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = '2'
#########################################################################
# VM Setup for LAMP stack application
#
# - Install PHP and packages
# - Install Apache
# - Configure /vagrant as document root
# - Config PHP for development and logging
# - Install MySQL
# - Setup database and permissions (username and password are "vagrant")
# - Install Composer
#########################################################################
@script = <<SCRIPT
#################### PHP ####################
apt-get install -y apt-utils php7.2 php7.2-bcmath php7.2-bz2 php7.2-cli php7.2-curl php7.2-intl php7.2-json php7.2-mbstring php7.2-opcache php7.2-soap php7.2-sqlite3 php7.2-xml php7.2-xsl php7.2-zip unzip
#################### APACHE2 ####################
apt-get install -y apache2 libapache2-mod-php7.2
# Remove /var/www default
rm -rf /var/www
# Symlink /vagrant to /var/www
ln -fs /vagrant /var/www
# Add ServerName to httpd.conf
echo "ServerName localhost" > /etc/apache2/httpd.conf
# Setup hosts file
VHOST=$(cat <<EOF
<VirtualHost *:80>
DocumentRoot "/vagrant"
ServerName localhost
<Directory "/vagrant">
Options Indexes FollowSymLinks MultiViews Includes
AllowOverride All
Require all granted
Order allow,deny
Allow from all
AddType text/html .shtm .shtml
AddOutputFilter INCLUDES .htm .html .shtm .shtml
</Directory>
</VirtualHost>
EOF
)
echo "${VHOST}" > /etc/apache2/sites-enabled/000-default.conf
# Enable mod_rewrite
a2enmod rewrite
# Put PHP into development configuration
mv /etc/php/7.2/apache2/php.ini /etc/php/7.2/apache2/php.ini.back
cp /usr/lib/php/7.2/php.ini-development /etc/php/7.2/apache2/php.ini
# Enable PHP extensions in php.ini
#sed -i 's/;extension=mysqli/extension=mysqli/' /etc/php/7.2/apache2/php.ini
# PHP will log its errors in a /log/error_log file
sed -i 's:;error_log = php_errors.log:error_log = /vagrant/log/error_log:' /etc/php/7.2/apache2/php.ini
# Restart apache
systemctl restart apache2.service
#################### MYSQL ####################
apt-get install -y mysql-server mysql-client-core-5.7 php7.2-mysql
systemctl start mysql.service
# Reset root password
#/usr/bin/mysqladmin -u root password 'root'
mysqladmin -u root password 'root'
# Setup database from root user and setup the application user
mysql -uroot -proot -e "CREATE DATABASE IF NOT EXISTS app"
mysql -uroot -proot app < /vagrant/db/schema.sql
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON *.* to 'vagrant'@'localhost' IDENTIFIED BY 'vagrant'"
mysql -uroot -proot -e "GRANT ALL PRIVILEGES ON *.* to 'vagrant'@'%' IDENTIFIED BY 'vagrant'"
mysql -uroot -proot -e "FLUSH PRIVILEGES"
# Allow remote connections for MySQL Workbench
MYSQLCONF=$(cat <<EOF
[mysqld]
bind-address = 0.0.0.0
EOF
)
echo "${MYSQLCONF}" >> /etc/mysql/my.cnf
# Restart mysql
/etc/init.d/mysql restart
#################### COMPOSER ####################
curl -sS http://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
# Run composer install
cd /vagrant && composer install
#################### FINISHED! ####################
echo "** [PHP] Visit http://localhost:8080 in your browser for to view the application **"
SCRIPT
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = 'ubuntu/bionic64'
config.ssh.insert_key = false
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network "forwarded_port", guest: 443, host: 8081
config.vm.network "forwarded_port", guest: 3306, host: 3307
#config.vm.synced_folder '.', '/var/www/html'
# Provision runs only on the first "Vangrant up" command
config.vm.provision 'shell', privileged: true, inline: @script
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--memory", "2048"]
vb.customize ['modifyvm', :id, "--natdnshostresolver1", "on"]
end
end
关于Centos 6 LAMP 堆栈的 Vagrantfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52170246/
LAMP 堆栈一词是什么意思? 我在招聘启事中看到过这个引用,但我不完全理解它的含义。 我觉得在我的开发中我相当普遍地使用 LAMP,但是当我听到“stack”时,我觉得我没有像我应该的那样使用 LA
完全在 WAMP 中开发,我需要将其部署在组织中的 LAMP 设置上。我想确保部署顺利进行并花费尽可能少的时间。在将其部署到 LAMP 之前,我需要更改哪些内容?还有什么方法可以在一些模拟的 LAMP
在变得有点疏远开源,并花了几年时间在 ASP.NET 中开发 Web 应用程序之后,我将开始做相当多的PHP/MySQL开发。 我已经很轻松地安装了WampServer在我的 Windows 机器上建
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 6年前关闭。 Improve this questi
我正在尝试遵循一些与AWS相关的亚马逊教程(http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html)。这将允许我在我刚
我想在 Azure 服务器中设置 LAMP,可以使用以下方法设置 LAMP LAMP 包:sudo apt-get install lamp-server^ Apache、PHP、MySQL 单独安装
搭建LAMP Web服务器 在家中翻到了以前用的老电脑,在思索一番后,决定把这台电脑改造成一台Web服务器,作为我自己搭建博客的测试机器。 一、Linux服务器 LAMP中的L指的是Linux服
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 10年前关闭。 Improve this
请向我推荐一个基于Web的简单文档存储库,用于保存我的小公司文档(.DOC,.PDFs),以便我可以从任何地方访问它们。互联网上有很多可用的工具,但是它们很繁琐,并且充满了不必要的功能和要求。 我没有
我有一个个人项目已经在线一段时间了。我一直在通过这样做来记录下载量: 当用户点击下载链接时,它会点击一个 PHP 脚本,该脚本将一些信息写入表格。 写入数据后,脚本会返回实际文件的路径。 然后用户可以
我是 Ubuntu 的新手。安装灯。有几个问题 1)假设第一个网站目录看起来像:var/www/first/和第二个网站:var/www/second。如何设置多个网站,并将它们与 IIS 上的单独端
我的应用程序在 LAMP 服务器上运行时遇到了一些困难。我将解释该场景,下面我将介绍我的配置和一些 AB 结果。 我正在运行一个使用 Laravel 4.2 开发的应用程序。这是一个问答游戏,在某个时
情况: 我制作了一个可以打开和关闭灯的 Java 应用程序。现在我需要更改灯光,这必须发生在 class ColorLamp 中。正常的“黄”灯放在 class Lamp 中。 类 Colorlamp
嗨,最近我安装了 linux 并安装了 lamp + phpmyadmin,这个脚本在 xampp 上运行良好,而我使用了 win,但现在它不会执行,我已经更改了 dbconnect.php 文件中的
我在 Google 云上的 VM 实例上安装了 LAMP,但是当我尝试使用从 Linux 终端远程访问 mysql 数据库时 $ mysql -u username -h ipaddress -p 输
我在 EasyPHP 3.5.9 上开发了我的 php 软件,一切都很完美,现在我在 ubuntu 12.04 x64 上安装了 LAMP。如果我尝试在 ubuntu 上上传我的软件,我会显示一个白页
我最近(大约1个月)开始使用LAMP和Bootstrap。 我开发的网站在重新安装 LAMP 之前一直运行良好。 这是我的进展: 0. reinstalled LAMP 1. moved my "ba
我的项目驻留在一个共享的 Linux 托管服务器上。当然,托管服务提供商已经设置了相对于其他服务器用户的必要目录和文件所有权。我现在关心的是如何在我的域中设置权限,以便我的用户可以读取他们应该拥有的文
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 11 年前。 Improve thi
我是一名优秀的程序员,十分优秀!