我的编程空间,编程开发者的网络收藏夹
学习永远不晚

一个简单的基于Debian的开发环境。

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

一个简单的基于Debian的开发环境。

这只是一个快速演练,描述了如何设置一个体面的开发环境,允许轻松设置多个站点。它已经假定您已经安装并配置了PHP,MySql
Apache已经运行的Debian或Ubuntu操作系统 。你还需要一个有效的sudo。

虽然其中一些东西是Debian / Ubuntu特定的,但将它应用于任何其他发行版并不困难。

我们需要做的第一件事是创建一个'www'组。该群组中的任何人都可以创建新网站。

sudo groupadd www

把自己放在这个群体中。

sudo gpasswd –a username www && newgrp www

现在,我们需要确保我们所有站点的存储位置都由www拥有和写入。

sudo chown :www /var/wwwsudo chmod g+ws /var/www

chmod的s开关设置粘滞位并确保在/ var / www中创建的所有目录也属于www组。

我们需要确保www可以写入保存vhost配置的目录。

sudo chown :www /etc/apache2/sites-*

接下来,我们将创建模板vhost配置。我们将使用它来为我们的每个站点生成配置。

<VirtualHost *:80>        ServerName {SITE}.local        DocumentRoot /var/www/sites/{SITE}.local/htdocs    DirectoryIndex index.php    <Directory />        Options FollowSymLinks        AllowOverride All    </Directory>        <Directory /var/www/sites/{SITE}.local/htdocs>        Options Indexes FollowSymLinks MultiViews        AllowOverride All        Order allow,deny        allow from all    </Directory>    ErrorLog /var/www/sites/{SITE}.local/logs/error.log    LogLevel warn    CustomLog /var/www/sites/{SITE}.local/logs/access.log combined</VirtualHost>

将其保存为/etc/apache2/sites-available/example.conf

现在,让我们创建一个简单的测试站点。

mkdir -p /var/www/sites/foo.local/{htdocs,logs}echo '<?php phpinfo(); ?>' > /var/www/sites/foo.local/htdocs/index.phpcd /etc/apache2/sites-availablesed -e 's/{SITE}/foo/g' example.conf > foo.confsudo a2ensite foo.confsudo /etc/init.d/apache2 restartecho '127.0.0.1 foo.local' | sudo tee -a /etc/hosts

这里有一些命令,但它非常简单:

The first line creates the minimal required directory structure for a new web site.
We then create an index.php file which has a call to phpinfo() in it.
Next we move into the directory where our vhost configs are stored.
We then create a new vhosy config called foo.conf which is a copy of the example.conf from above, we use sed to replace all instances of '{SITE}' with 'foo'
Next, enable this vhost. This adds a symlink within /etc/apache2/sites-enabled
Restart Apache.
Add foo.local to our hosts file. This enables the url http://foo.local to resolve to our local machine and hence, be served by Apache.

这是真的。你可以在这个基本想法上建立相当多的东西。我在多用户系统中实现的一件事是向'www'组的成员提供新命令。这些命令主要是
围绕需要sudo的东西的包装器 ,但它确实使得从最终用户的角度来看整个过程更加清晰。考虑到机会和兴趣,我可能会在另一个教程中详细介绍相关细节。

有一点需要注意。如果您希望网站中的目录可由Apache写入,则必须使它们属于www-data组,并且该组将需要写入权限。例如;

mkdir -p /var/www/sites/foo.local/uploadssudo chown :www-data /var/www/sites/foo.local/uploadssudo chmod g+w /var/www/sites/foo.local/uploads

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

一个简单的基于Debian的开发环境。

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

一个简单的基于Debian的开发环境。

这只是一个快速演练,描述了如何设置一个体面的开发环境,允许轻松设置多个站点。它已经假定您已经安装并配置了PHP,MySql和Apache已经运行的Debian或Ubuntu操作系统 。你还需要一个有效的sudo。虽然其中一些东西是Debia
2023-06-03

基于python开发环境的Dockerf

在本地创建一个管理Docker的目录## MacOSX 系统下的mkdir -p ~/mywork/docker/python## 其他操作系统平台自定义管理目录,这里省略python开发环境的DockerfileFROM ubuntu
2023-01-31

基于Vue3编写一个简单的播放器

这篇文章主要为大家详细介绍了如何基于Vue3编写一个简单的播放器,文中的示例代码讲解详细,对我们学习Vue3有一定的帮助,需要的可以参考一下
2023-03-02

基于C++编写一个简单的服务器

这篇文章主要为大家详细介绍了如何基于C++编写一个简单的服务器,文中的示例代码讲解详细,具有一定的参考价值,感兴趣的小伙伴可以了解一下
2023-03-14

Android NDK开发的环境搭建与简单示例

一、NDK与JNI简介 NDK全称为native development kit本地语言(C&C++)开发包。而对应的是经常接触的Android-SDK,(software development kit)软件开发包(只支持java语言开发
2022-06-06

基于Python做一个简单的动图生成器

现在的年轻人都开始每天保温杯里泡枸杞,这怎么能行呢?于是怀揣着愉悦心情的想法,我开始制作GIF动图生成器,这个小工具制作的目的是为了将多张图片组合后生成一张动态的GIF图片,感兴趣的可以尝试一下
2023-01-03

基于Python编写一个简单的http服务器

这篇文章主要为大家详细介绍了如何基于Python编写一个简单的http服务器,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下
2023-05-17

基于C++实现一个简单的音乐系统

C++中的Beep函数是一个发出嗡鸣声的函数,本文将利用这个函数实现制作一个简单的声音系统。文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
2022-12-29

基于Java编写一个简单的风控组件

这篇文章主要为大家详细介绍了如何基于Java编写一个简单的风控组件,文中的示例代码讲解详细,对我们学习Java有一定的帮助,需要的可以参考一下
2022-12-31

怎么搭建一个基于Docker的Tomcat运行环境

这篇文章主要介绍“怎么搭建一个基于Docker的Tomcat运行环境”,在日常操作中,相信很多人在怎么搭建一个基于Docker的Tomcat运行环境问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么搭建一个基
2023-06-04

基于visual studio code+react开发环境搭建的方法

这篇“基于visual studio code+react开发环境搭建的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“基
2023-06-05

基于Python编写一个简单的服务注册发现服务器

我们都知道有很多的非常著名的注册服务器,例如: Consul、ZooKeeper、etcd,甚至借助于redis完成服务注册发现。但是本篇文章我们将使用python socket写一个非常简单的服务注册发现服务器,感兴趣的可以了解一下
2023-05-16

基于Java怎样实现一个简单的单词本Android App

这篇文章跟大家分析一下“基于Java怎样实现一个简单的单词本Android App”。内容详细易懂,对“基于Java怎样实现一个简单的单词本Android App”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录