当前位置: 首页 > news >正文

响应式网站的优点wordpress虚拟主机排名

响应式网站的优点,wordpress虚拟主机排名,怎样将网站开发说清楚,wordpress链接跳转页面跳转前言 距离上一篇发表已经过去了5年零2个多月#xff0c;这次重新开始写技术博客#xff0c;理由和原来一样#xff0c;也就是想把自己学习和工作中遇到的问题和知识记录下来#xff0c;今天记录一下Linux CentOS 8通过编译安装svn的过程。 下载SVN 下载地址#xff1a;…前言 距离上一篇发表已经过去了5年零2个多月这次重新开始写技术博客理由和原来一样也就是想把自己学习和工作中遇到的问题和知识记录下来今天记录一下Linux CentOS 8通过编译安装svn的过程。 下载SVN 下载地址链接: https://subversion.apache.org/download.cgi 进入下载页面后我们可以看到当前source code的推荐版本是1.14.2直接点击下载源码即可 下载好之后将源码上传至指定目录 输入命令tar -zxvf subversion-1.14.2.tar.gz进行解压之后即可看到svn的源码目录如下图所示 最后我们输入命令mv ./subversion-1.14.2 /usr/local/svn/source将源码移动到指定目录计划将svn安装在/usr/local/svn的根目录下。 编译安装SVN 下载完毕后开始编译源码安装进入源码所在的source目录后执行配置configure命令同时指定安装路径 ./configure --prefix/usr/local/svn如果控制台没有报错那么直接运行命令make make install即可完成编译和安装但是这里报错了需要根据提示信息去补充安装svn所依赖的部分组件首先看一下我们的报错信息 如上图所示提示缺少Apache可移植运行库APR这个支持库它是ApacheHTTP服务器的支持库提供了一组映射到下层操作系统的API。完整的APR包含3个开发包分别是APRAPR-util和APR-iconv每一个开发包分别独立开发并且拥有自己的版本。APR-util包含了一些常用的开发组件结合上图的提示信息我们在安装svn之前必须安装APR和APR-util。 安装APR和APR-util 首先打开APR的官方网站https://apr.apache.org/ 如上图所示打开主页后我们可以清晰的看到官方推荐的APR和APR-util的版本分别是APR 1.7.4和APR-util 1.6.3 所以我们直接点击左侧的Download!去下载这两个版本的源码即可 下载成功后将源码上传至指定目录这里我将安装svn依赖的各种组件库统一放到/usr/local/svn/dependPackage目录中 如上图所示接下来分别解压之后编译安装即可。APR-util安装依赖于APR因此需要首先安装APR进入APR源码目录依次进行配置、编译、安装即可 ./configure --prefix/usr/local/apr make make install之后再执行命令make make install进行编译安装即可。 如上图所示我们已经成功编译安装了APR支持库。接下来安装APR-util。同样的进入APR-util目录依次进行配置、编译、安装即可注意此处需要通过--with-apr配置项来指定APR的目录 ./configure --prefix/usr/local/apr-util --with-apr/usr/local/apr make make install但是安装时候报错了提示信息如下 如上图所示报错原因是缺少另一个库——Expat所以接下来我们需要先安装Expat。 安装Expat Expat的官网地址是https://libexpat.github.io/ 我们在Expat的首页可以清晰的看到关于Expat的解释 What is Expat? Welcome to Expat, a stream-oriented XML parser library written in C. Expat excels with files too large to fit RAM, and where performance and flexibility are crucial. 如上所示Expat是一个用C语言编写的面向流的XML解析库。Expat擅长处理太大而无法放入内存的文件以及性能和灵活性至关重要的情况。简单了解一下接下来从github上下载安装即可当前的最新版本是2.5.0。下面是Expat的目录结构 如上图所示进入Expat目录后依次进行配置、编译、安装即可 ./configure --prefix/usr/local/expat make make install安装好了Expat之后我们回到上一步再次安装APR-util即可注意此处需要通过--with-expat配置项来指定Expat的目录 ./configure --prefix/usr/local/apr-util --with-apr/usr/local/apr --with-expat/usr/local/expat make make install检查一下APR-util安装目录安装成功即可如下图所示 至此我们已经成功安装了APR和APR-util解决了初始阶段的报错问题那么我们回到svn的源码目录再次通过配置命令检查一下是否可以正常安装注意此处需要通过--with-apr和--with-apr-util配置项来指定APR和APR-util的目录 ./configure --prefix/usr/local/svn --with-apr/usr/local/apr --with-apr-util/usr/local/apr-util运行配置命令之后又发现了新的报错信息 如上图所示提示我们没有合适版本的SQLite所以接下来我们需要先安装SQLite。 安装SQLite SQLite的官网地址是https://www.sqlite.org/ SQLite是一个用C语言编写的库实现了一个小型、快速、自包含、高可靠性、功能齐全的SQL数据库引擎做Android开发的朋友应该都接触过这个数据库我们在官方首页直接下载即可目前最新版本是3.42.0 直接下载即可根据报错信息提示我们需要下载sqlite-amalgamation-xxx.zip这个压缩文件然后通过unzip命令解压并重命名目录为sqlite-amalgamation注意这个目录需要放在svn源码目录当中。接下来我们按上述步骤操作首先进入安装包目录解压缩包然后再将其移动到指定目录 unzip sqlite-amalgamation-3420000.zip mv ./sqlite-amalgamation-3420000 ../source/sqlite-amalgamation接下来回到svn源码目录检查一下SQLite目录是否存在 如上所示没有问题接下来我们回到svn源码目录再次通过配置命令检查一下是否可以正常安装注意不要忘记通过--with-apr和--with-apr-util配置项来指定APR和APR-util的目录 ./configure --prefix/usr/local/svn --with-apr/usr/local/apr --with-apr-util/usr/local/apr-util运行之后发现又有报错信息 添加配置项–with-lz4internal 如上图所示根据提示我们加上配置项--with-lz4internal之后再次运行配置命令 ./configure --prefix/usr/local/svn --with-apr/usr/local/apr --with-apr-util/usr/local/apr-util --with-lz4internal又发现了新的报错信息 如上图所示提示svn需要utf8proc请安装它所以我们接下来先安装utf8proc。 安装utf8proc utf8proc的github项目地址是https://github.com/JuliaStrings/utf8proc utf8proc是一个小巧、干净的C语言库提供了对UTF-8编码的Unicode数据进行规范化、大小写折叠和其他操作的功能。简单了解一下目前utf8proc的最新版本是2.8.0我们直接下载源码上传至指定目录解压 如上图所示然后运行make make install即可完成utf8proc编译安装。安装完成之后我们再次重复之前的操作进入svn源码目录运行配置命令检查是否已经可以正常编译安装 ./configure --prefix/usr/local/svn --with-apr/usr/local/apr --with-apr-util/usr/local/apr-util --with-lz4internal这次终于没有了任何报错信息最后我们在svn源码目录运行命令make make install完成安装即可看一下安装好之后的svn目录 加入PATH环境变量 安装结束之后首先我们需要把svn的bin目录加入到PATH环境变量中方便我们全局使用svn命令。首先进入配置文件vi /etc/profileLinux中的系统环境变量PATH的添加方式是通过冒号拼接路径的方式来添加如下图所示 然后运行svn命令检查一下版本 svn --version这里报错了看一下提示信息 如上图所示这里提示加载共享库错误应该是在上面安装utf8proc时出了一些问题。解决方法很简单依次按以下步骤操作即可 编辑/etc/ld.so.conf文件执行vi /etc/ld.so.conf添加下面一行代码/usr/local/lib。执行ldconfig命令更新缓存。 接下来我们再次运行svn --version命令检查一下svn版本 如上图所示已经可以成功看到svn的版本相关信息至此环境变量添加结束。 创建SVN版本库 svn安装完成之后下一步首先要做的就是创建我们的版本库这里我们选择/home/svn作为svn版本库的根目录首先创建该目录 mkdir -p /home/svn根目录创建完成后接下来我们创建需要交给svn管理的项目目录因为svn是以项目为单位去进行版本控制的。例如这里我们有一个项目名叫vue_basic那么我们接下来在根目录下创建该项目目录 mkdir -p /home/svn/vue_basic接下来通过svnadmin create命令进行版本库初始化 svnadmin create /home/svn/vue_basic命令执行成功之后我们可以在该目录下看到svn版本库的初始结构 如上图所示这样我们的版本库就已经初始化完毕db目录是数据文件存放目录我们上传至svn的代码文件都是以特定格式压缩后存放在这里而conf目录就是配置文件目录下面我们要做的就是配置用户权限。 配置SVN服务器 关于SVN服务器配置的相关信息我们可以在SVN社区的用户手册the Subversion book中获取相关信息在文档中的第6章节Chapter 6. Server Configuration可以看到服务器配置的相关说明。下面是关于SVN服务器配置的概述 Subversion was designed with an abstract repository access layer. This means that a repository can be programmatically accessed by any sort of server process, and the client “repository access” API allows programmers to write plug-ins that speak relevant network protocols. In theory,Subversion can use an infinite number of network implementations. In practice, there are only two Subversion servers in widespread use today. 如上介绍SVN的设计包括一个抽象的网络层这意味着版本库可以通过各种服务器进程访问目前的实践中存在2种SVN服务器。继续看文档中对于这2种SVN服务器的解释说明 Apache is an extremely popular web server; using the mod_dav_svn module, Apache can access a repository and make it available to clients via the WebDAV/DeltaV protocol, which is an extension of HTTP.In the other corner is svnserve: a small, lightweight server program that speaks a custom protocol with clients. 如上介绍可以看出这两种服务器方案分别是 Apachemod_dav_svn通过使用mod_dav_svn模块Apache可以访问版本库并且可以使客户端使用HTTP的扩展协议WebDAV/DeltaV进行访问svnserve一个小的独立服务器使用自己定义的协议和客户端 这两种方式各有优缺点我们根据实际需求选择即可。通常情况下中小型团队建议使用svnserve因为这种方式简单快速且能满足绝大多数情况下的版本控制需求。这里我们也选择使用svnserve需要分别对3个文件进行配置它们分别是conf目录下的passwd、authz和svnserve.conf下面依次进行介绍 配置用户密码passwd 首先第一步我们先打开passwd文件新增svn用户和密码 如上图所示passwd是svnserve的示例密码文件用于定义访问SVN服务器的用户帐号密码信息。在[users]配置项下面新增用户格式很简单直接写【用户名口令】即可这里我们新增了一个用户名为wangliang且密码为123456的用户。 配置用户权限authz 第一步配置了用户之后接下来我们需要做的就是为已添加的用户配置操作SVN版本库的权限首先打开/conf/authz文件 如上所示authz是svnserve的示例授权文件可以看到defines authorizations for the path字样即是“基于路径的授权策略”简单来讲就是配置某个用户a single user或者某一组用户a group of users对某个目录的访问权限read/read and write/no access。我们可以在文档中的Chapter 6.Server Configuration中的Path-Based Authorization章节中我们可以找到相关信息 Both Apache and svnserve are capable of granting (or denying) permissions to users. Typically this is done over the entire repository:a user can read the repository (or not), and she can write to the repository (or not). It’s also possible, however, to define finer-grained access rules. One set of users may have permission to write to a certain directory in the repository, but not others; another directory might not even be readable by all but a few special people. As files are paths, too, it’s even possible to restrict access on a per file basis. 如上所示和我们上面总结的结论基本一致Apache和svnserve都能向用户授权通常是针对整个仓库进行对仓库进行读写。也可以更细化的控制到仓库的某个目录的读写接下来我们依次开始进行配置 配置用户组groups svnserve允许我们配置一组用户并为他们授权在授权示例文件中我们可以看到配置示例代码 如上图所示在[group]配置项下我们通过[用户组名][用户组列表]的格式进行用户组配置。用户组列表的每个成员之间通过逗号分隔。例如我们配置两组用户分别是开发组dev_group3名成员和测试组test_group3名成员 [groups] dev_groupwangliang,libo,fanyuanli test_grouphubin,liumei,zhangchao如上图所示我们定义好了两个用户组之后接下来我们就为用户或用户组配置权限。 授权 权限分为三种我们在文档中可以看到相关说明 grant read (‘r’) access, read-write (‘rw’) access, or no access (‘’). 只读r读写rw禁止访问’ 而授权对象存在6种方式在上面的svnserve的授权示例文件中我们也可以看到我们最常用的是以下3种方式它们分别是 单用户a single user用户组a group of users所有用户anyone 例如我们要给wangliang用户设置读写权限给上面创建的test_group测试组用户都设置只读权限那么授权代码这样写即可 wangliang rw test_group r这里注意引用用户组时需要在前面加上符号。 只有上面这两行还不够之前说了svnserve是基于路径的授权策略也就是说我们必须再指定一个目录当上面的用户或用户组来访问文档中有以下说明 To be more specific: the value of the section names is either of the form [repos-name:path] or of the form [path]. 如上所示可以看到通常我们的路径格式是[版本库名:路径]例如如果我们希望wangliang用户可以操作vue_basic这个版本库的所有内容按如下配置即可 [vue_basic:/] wangliang rw如果不指定仓库名称的话那么你的权限将作用于所有版本库中的同名路径配置中文档中也有相关说明 If you’re using the SVNParentPath directive, it’s important to specify the repository names in your sections. If you omit them,a section such as [/some/dir] will match the path /some/dir in every repository. If you’re using the SVNPath directive,however, it’s fine to only define paths in your sections—after all, there’s only one repository. 最后再给出几个简单示例加深理解 [groups] xnzz_test songming,liqiang,zhoufang[xnzz:/] xnzz_test r * [xnzz_dev:/home/wangliang] wangliang rw * r上面的代码定义了1个用户组xnzz_test有3名成员。定义了2个版本库xnzz和xnzz_devxnzz版本库下的所有目录只有xnzz_test用户组的成员可以进行读操作其余所有用户禁止访问。xnzz_dev版本库的/home/wangliang目录只有wangliang用户可以进行读写操作其余用户禁止访问。 配置svnserve.conf 最后还需要配置一下/conf/svnserve.conf这个文件它是svnserve服务器的一个全局配置文件。我们打开之后可以看到它的说明简介 通常我们只需要配置[general]这个section中的以下属性 anon-access控制非授权用户访问版本库的权限。取值范围为write、read和none。默认值为read只读。auth-access控制授权用户访问版本库的权限。取值范围为write、read和none。默认值为write可修改。password-db指定用户名口令文件名。除非指定绝对路径否则文件位置为相对conf 目录的相对路径。 默认值为passwd也就是我们刚才配置的密码文件。authz-db指定权限配置文件名通过该文件可以实现以路径为基础的访问控制。除非指定绝对路径否则文件位置为相对conf目录的相对路径。 默认值为authz-db同样的这也是我们刚才配置过的授权文件。realm指定版本库的认证域即在登录时提示的认证域名称不用配置也没关系。 保存之后至此我们svn服务器的配置内容就全部结束了。 启动SVN服务器 输入命令 svnserve -d -r /home/svn/即可启动SVN服务器注意启动路径必须是版本库的根目录而不是某个子目录。 停止SVN服务器 输入命令 killall svnserve即可停止SVN服务器。 Windows客户端测试连接 成功启动SVN服务器之后我们通过Windows客户端工具TortoiseSVN来连接测试一下是否可以正常进行版本控制。直接搜索安装TortoiseSVN即可安装好之后鼠标右键点击TortoiseSVN--Repo browser进入版本库浏览器界面 如上图所示输入svn://ip/仓库名即可注意一下Linux系统需要放开SVN的6379端口。点击确定之后如果没有什么问题会弹出输入框 如上图所示输入我们之前在passwd文件中配置的用户名和密码直接登录即可登录成功后可以看到下面的版本库浏览器界面 至此我们就可以使用SVN开始进行版本控制了简单的文件管理直接使用TortoiseSVN代码管理则需要在相关的IDE中集成SVN插件并进行相关配置即可。 总结 本篇blog简单记录一下Linux下搭建SVN服务器的过程尽管目前分布式版本控制工具Git已成为主流但SVN依然是集中式版本控制工具的代表。希望对遇到类似问题的朋友有所帮助The End。ps时隔5年多的第一篇csdn博客后面会继续坚持记录技术路程的点点滴滴加油
http://www.zqtcl.cn/news/999542/

相关文章:

  • 自助建站基础工作主要包括()上海网站关键词排名
  • 中国住房和城乡建设部网站安全小明seo教程
  • 网站基本常识wordpress怎么使用插件
  • 无锡高端网站制作广州装修公司排名
  • 做h5商城网站pc网站建设哪
  • 顺企网萍乡网站建设自己如何开自己的商城
  • 怎样做当地网站推广平顶山车祸最新新闻事件
  • 重庆网站制作1000客户营销
  • 视频播放网站 模板潍坊网站建设首荐创美网络
  • 网站静态页面模板网页设计案例代码
  • 网站开发的ie兼容做到9网站开发具体问题
  • 企业建站业务还能做吗园林景观网站模板
  • 建筑招聘网站有哪些电商商城app制作开发
  • 做网站开发 用什么在进行网站设计时
  • 21dove谁做的的网站新媒体营销论文
  • 做电影网站配什么公众号网站新闻发布系统模板
  • 网站风格发展趋势wordpress悬浮音乐插件
  • 做网站前期费用新注册公司网站建设
  • 建站平台在线提交表格功能检测站点是否使用wordpress
  • 谁能做网站开发免费软件看电视剧
  • 深圳的网站建设网站建设网页设计做网站
  • 广州网站建设网页设计贵阳网站建设宏思锐达
  • 洪栾单页网站建设象山县城乡和住房建设局网站
  • 网站留言发送到邮箱潍坊商城网站建设
  • 四川省的住房和城乡建设厅网站首页产品设计是冷门专业吗
  • 北仑建设银行网站网站设计 导航条
  • 如何做网站宣传片单位做网站费用怎么记账
  • 西安网站建设现状购物app开发
  • 2019年做网站还有前景吗手机制作表格教程
  • 校园网站html模板南昌网站建设优化