Merge remote-tracking branch 'LCTT/master'

This commit is contained in:
Xingyu Wang 2020-02-07 23:25:34 +08:00
commit bf21f87435
9 changed files with 543 additions and 550 deletions

View File

@ -1,76 +0,0 @@
[#]: collector: (lujun9972)
[#]: translator: (hopefully2333)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (What's HTTPS for secure computing?)
[#]: via: (https://opensource.com/article/20/1/confidential-computing)
[#]: author: (Mike Bursell https://opensource.com/users/mikecamel)
What's HTTPS for secure computing?
======
Security by default hasn't arrived yet.
![Secure https browser][1]
Over the past few years, it's become difficult to find a website that is just "http://…" This is because the industry has finally realised that security on the web is "a thing," and also because it has become easy for both servers and clients to set up and use HTTPS connections. A similar shift may be on its way in computing across cloud, edge, Internet of Things, blockchain, artificial intelligence, machine learning, and beyond. We've known for a long time that we should encrypt data at rest (in storage) and in transit (on the network), but encrypting it in use (while processing) has been difficult and expensive. Confidential computing—providing this type of protection for data and algorithms in use using hardware capabilities such as trusted execution environments (TEEs)—protects data on hosted systems or vulnerable environments.
I've written several times about [TEEs][2] and, of course, the [Enarx project][3] of which I'm a co-founder with Nathaniel McCallum (see [_Enarx for everyone (a quest)_][4] and [_Enarx goes multi-platform_][5] for examples). Enarx uses TEEs and provides a platform- and language-independent deployment platform to allow you safely to deploy sensitive applications or components (such as microservices) onto hosts that you don't trust. Enarx is, of course, completely open source (we're using the Apache 2.0 licence, for those with an interest). Being able to run workloads on hosts that you don't trust is the promise of confidential computing, which extends normal practice for sensitive data at rest and in transit to data in use:
* **Storage:** You encrypt your data at rest because you don't fully trust the underlying storage infrastructure.
* **Networking:** You encrypt your data in transit because you don't fully trust the underlying network infrastructure.
* **Compute:** You encrypt your data in use because you don't fully trust the underlying compute infrastructure.
I've got a lot to say about trust, and the word "fully" in the statements above is important (I added it on re-reading what I'd written). In each case, you have to trust the underlying infrastructure to some degree, whether it's to deliver your packets or store your blocks, for instance. In the case of the compute infrastructure, you're going to have to trust the CPU and associated firmware, just because you can't really do computing without trusting them (there are techniques such as homomorphic encryption, which are beginning to offer some opportunities here, but they're limited and the technology still immature).
Questions sometimes come up about whether you should fully trust CPUs, given some of the security problems that have been found with them, and also about whether they are fully secure against physical attacks on the host on which they reside.
The answer to both questions is "no," but this is the best technology we currently have available at scale and at a price point to make it generally deployable. To address the second question, nobody is pretending that this (or any other technology) is fully secure: what we need to do is consider our [threat model][6] and decide whether TEEs (in this case) provide sufficient security for our specific requirements. In terms of the first question, the model that Enarx adopts is to allow decisions to be made at deployment time as to whether you trust a particular set of CPUs. So, for example, if vendor Q's generation R chips are found to contain a vulnerability, it will be easy to say "refuse to deploy my workloads to R-type CPUs from Q, but continue to deploy to S-type, T-type, and U-type chips from Q and any CPUs from vendors P, M, and N."
I think there are three changes in the landscape that are leading to the interest and adoption of confidential computing right now:
1. **Hardware availability:** It is only over the past six to 12 months that hardware supporting TEEs has started to become widely available, with the key examples in the market at the moment being Intel's SGX and AMD's SEV. We can expect to see other examples of TEE-enabled hardware coming out in the fairly near future.
2. **Industry readiness:** Just as cloud use is increasingly becoming accepted as a model for application deployment, regulators and legislators are increasing the requirements on organisations to protect the data they manage. Organisations are beginning to clamour for ways to run sensitive applications (or applications that handle sensitive data) on untrusted hosts—or, to be more accurate, on hosts that they cannot fully trust with that sensitive data. This should be no surprise: the chip vendors would not have invested so much money into this technology if they saw no likely market for it. Formation of the Linux Foundation's [Confidential Computing Consortium][7] (CCC) is another example of how the industry is interested in finding common models for the use of confidential computing and encouraging open source projects to employ these technologies.[1][8]
3. **Open source:** Like blockchain, confidential computing is one of those technologies where it's an absolute no-brainer to use open source. If you are going to run sensitive applications, you need to trust what's doing the running for you. That's not just the CPU and firmware but also the framework that supports the execution of your workload within the TEE. It's all very well saying, "I don't trust the host machine and its software stack, so I'm going to use a TEE," but if you don't have visibility into the TEE software environment, then you're just swapping one type of software opacity for another. Open source support for TEEs allows you or the community—in fact, you _and_ the community—to check and audit what you're running in a way that is impossible for proprietary software. This is why the CCC sits within the Linux Foundation (which is committed to the open development model) and is encouraging TEE-related software projects to join and go open source (if they weren't already).
I'd argue that this triad of hardware availability, industry readiness, and open source has become the driver for technology change over the past 15 to 20 years. Blockchain, AI, cloud computing, webscale computing, big data, and internet commerce are all examples of these three meeting at the same time and leading to extraordinary changes in our industry.
Security by default is a promise that we've been hearing for decades now, and it hasn't arrived yet. Honestly, I'm not sure it ever will. But as new technologies become available, security ubiquity for particular use cases becomes more practical and more expected within the industry. It seems that confidential computing is ready to be the next big change—and you, dear reader, can join the revolution (it's open source, after all).
* * *
1. Enarx, initiated by Red Hat, is a CCC project.
* * *
_This article was originally published on [Alice, Eve, and Bob][9] and is reprinted with the author's permission._
Get a sneak peek at Daniel Roesler's Texas Linux Fest talk, "If you're not using HTTPS, your...
--------------------------------------------------------------------------------
via: https://opensource.com/article/20/1/confidential-computing
作者:[Mike Bursell][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/mikecamel
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/secure_https_url_browser.jpg?itok=OaPuqBkG (Secure https browser)
[2]: https://aliceevebob.com/2019/02/26/oh-how-i-love-my-tee-or-do-i/
[3]: https://enarx.io/
[4]: https://aliceevebob.com/2019/08/20/enarx-for-everyone-a-quest/
[5]: https://aliceevebob.com/2019/10/29/enarx-goes-multi-platform/
[6]: https://aliceevebob.com/2018/02/20/there-are-no-absolutes-in-security/
[7]: https://confidentialcomputing.io/
[8]: tmp.VEZpFGxsLv#1
[9]: https://aliceevebob.com/2019/12/03/confidential-computing-the-new-https/

View File

@ -1,178 +0,0 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Use this Python script to find bugs in your Overcloud)
[#]: via: (https://opensource.com/article/20/1/logtool-root-cause-identification)
[#]: author: (Arkady Shtempler https://opensource.com/users/ashtempl)
Use this Python script to find bugs in your Overcloud
======
LogTool is a set of Python scripts that helps you investigate root
causes for problems in Overcloud nodes.
![Searching for code][1]
OpenStack stores and manages a bunch of log files on its Overcloud nodes and Undercloud host. Therefore, it's not easy to use OSP log files to investigate a problem you're having, especially when you don't even know what could have caused the problem.
If that's your situation, [LogTool][2] makes your life much easier! It saves you the time and work it would otherwise take to investigate the root cause manually. Based on a fuzzy string matching algorithm, LogTool provides all the unique error and warning messages that have occurred in the past. You can export these messages for a particular time period, such as 10 minutes ago, an hour ago, a day ago, and so on, based on timestamp in the log.
LogTool is a set of Python scripts, and its main module, **PyTool.py**, is executed on the Undercloud host. Some operation modes use additional scripts that are executed directly on Overcloud nodes, such as exporting  errors and warnings from Overcloud logs.
LogTool supports Python 2 and 3, and you can change the working directory according to your needs: [LogTool_Python2][3] or [LogTool_Python3][4].
### Operation modes
#### 1\. Export errors and warnings from Overcloud logs
This mode is used to extract all unique **ERROR** and **WARNING** messages from Overcloud nodes that took place in the past. As the user, you're prompted to provide the "since time" and debug level to be used for extraction of errors or warnings. For example, if something went wrong in the last 10 minutes, you're be able to extract error and warning messages for just that time period.
This operation mode generates a directory containing a result file for each Overcloud node. A result file is a simple text file that is compressed (***.gz**) to reduce the time needed to download it from the Overcloud node. To convert a compressed file to a regular text file, you can use [zcat][5] or a similar tool. Also, some versions of Vi and any recent version of Emacs both support reading compressed data. The result file is divided into sections and contains a table of contents at the bottom.
There are two kinds of log files LogTool detects on the fly: _Standard_ and _Not Standard_. In _Standard_, each log line has a known and defined structure: timestamp, debug level, msg, and so on. In _Not Standard_, the log's structure is unknown; it could be a third party's logs, for example. In the table of contents, you find a "Section name --> Line number" per section, for example:
* **Raw Data - extracted Errors/Warnings from standard OSP logs since:** This section contains all extracted Error/Warning messages as-is without any modifications or changes. These messages are the raw data LogTool uses for fuzzy matching analysis.
* **Statistics - Number of Errors/Warnings per standard OSP log since:** In this section, you find the amount of Errors and Warnings per Standard log file. This may help you understand potential components used to search for the root cause of your issue.
* **Statistics - Unique messages, per STANDARD OSP log file since:** This section addresses unique Error and Warning messages since a timestamp you provide. For more details about each unique Error or Warning, search for the same message in the Raw Data section.
* **Statistics - Unique messages per NON STANDARD log file, since any time:** This section contains the unique messages in nonstandard log files. Unfortunately, LogTool cannot handle these log files in the same manner as Standard Log files; therefore, the "since time" you provide on extraction will be ignored, and you'll see all of the unique Errors/Warnings messages ever created. So first, scroll down to the table of contents at the bottom of the result file and review its sections—use the line indexes in the table of contents to jump to the relevant sections, where numbers 3, 4, and 5 are most important.
#### 2\. Download all logs from Overcloud nodes
Logs from all Overcloud nodes are compressed and downloaded to a local directory on your Undercloud host.
#### 3\. Grep for a string in all Overcloud logs
This mode "greps" (searches) a string provided by the user on all Overcloud logs. For example, you might want to see all logged messages for a specific request ID, such as the request ID for a "Create VM" that has failed.
#### 4\. Check current CPU,RAM and Disk on Overcloud
This mode displays the current CPU, RAM, and disk info on each Overcloud node.
#### 5\. Execute user's script
This enables users to run their own scripts on Overcloud nodes. For instance, say an Overcloud deployment failed, so you need to execute the same procedure on each Controller node to fix that. You can implement a "work around" script and to run it on Controllers using this mode.
#### 6\. Download relevant logs only, by given timestamp
This mode downloads only the Overcloud logs with _"Last Modified" > "given by user timestamp."_ For example, if you got an error 10 minutes ago, old log files won't be relevant, so downloading them is unnecessary. In addition, you can't (or shouldn't)  attach large files in some bug reporting tools, so this mode might help with making bug reports.
#### 7\. Export errors and warnings from Undercloud logs
This is the same as mode #1 above, but for Undercloud logs.
#### 8\. Check Unhealthy dockers on the Overcloud
This mode is used to search for unhealthy Dockers on nodes.
#### 9\. Download OSP logs and run LogTool locally
This mode allows you to download OSP logs from Jenkins or Log Storage (for example, **cougar11.scl.lab.tlv.redhat.com**) and to analyze the downloaded logs locally.
#### 10\. Analyze deployment log on the Undercloud
This mode may help you understand what went wrong during Overcloud or Undercloud deployment. Deployment logs are generated when the **\--log** option is used, for example, inside the **overcloud_deploy.sh** script; the problem is that such logs are not "friendly," and it's hard to understand what went wrong, especially when verbosity is set to **vv** or more, as this makes the log unreadable with a bunch of data inside it. This mode provides some details about all failed tasks.
#### 11\. Analyze Gerrit(Zuul) failed gate logs
This mode is used to analyze Gerrit(Zuul) log files. It automatically downloads all files from a remote Gerrit gate (HTTP download) and analyzes all files locally.
### Installation
LogTool is available on GitHub. Clone it to your Undercloud host with:
```
`git clone https://github.com/zahlabut/LogTool.git`
```
Some external Python modules are also used by the tool:
#### Paramiko
This SSH module is usually installed on Undercloud by default. Use the following command to verify whether it's installed:
```
`ls -a /usr/lib/python2.7/site-packages | grep paramiko`
```
If you need to install the module, on your Undercloud, execute the following commands:
```
sudo easy_install pip
sudo pip install paramiko==2.1.1
```
#### BeautifulSoup
This HTML parser module is used only in modes where log files are downloaded using HTTP. It's used to parse the Artifacts HTML page to get all of the links in it. To install BeautifulSoup, enter this command:
```
`pip install beautifulsoup4`
```
You can also use the [requirements.txt][6] file to install all the required modules by executing:
```
`pip install -r requirements.txt`
```
### Configuration
All required parameters are set directly inside the **PyTool.py** script. The defaults are:
```
overcloud_logs_dir = '/var/log/containers'
overcloud_ssh_user = 'heat-admin'
overcloud_ssh_key = '/home/stack/.ssh/id_rsa'
undercloud_logs_dir ='/var/log/containers'
source_rc_file_path='/home/stack/'
```
### Usage
This tool is interactive, so to start it, just enter:
```
cd LogTool
python PyTool.py
```
### Troubleshooting LogTool
Two log files are created on runtime: Error.log and Runtime.log*.* Please add the contents of both in the description of the issue you'd like to open.
### Limitations
LogTool is hardcoded to handle files up to 500 MB.
### LogTool_Python3 script
Get it at [github.com/zahlabut/LogTool][2]
--------------------------------------------------------------------------------
via: https://opensource.com/article/20/1/logtool-root-cause-identification
作者:[Arkady Shtempler][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/ashtempl
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/search_find_code_python_programming.png?itok=ynSL8XRV (Searching for code)
[2]: https://github.com/zahlabut/LogTool
[3]: https://github.com/zahlabut/LogTool/tree/master/LogTool_Python2
[4]: https://github.com/zahlabut/LogTool/tree/master/LogTool_Python3
[5]: https://opensource.com/article/19/2/getting-started-cat-command
[6]: https://github.com/zahlabut/LogTool/blob/master/LogTool_Python3/requirements.txt

View File

@ -1,125 +0,0 @@
[#]: collector: (lujun9972)
[#]: translator: (geekpi)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Joplin: The True Open Source Evernote Alternative)
[#]: via: (https://itsfoss.com/joplin/)
[#]: author: (Abhishek Prakash https://itsfoss.com/author/abhishek/)
Joplin: The True Open Source Evernote Alternative
======
_**Brief: Joplin is an open source note taking and to-do application. You can organize notes into notebooks and tag them. Joplin also provides a web-clipper to save articles from the internet.**_
### Joplin: Open source note organizer
![][1]
If you like [Evernote][2], you wont be too uncomfortable with the open source software, [Joplin][3].
Joplin is an excellent open source note taking application with plenty of features. You can take notes, make to-do list and sync your notes across devices by linking it with cloud services like Dropbox and NextCloud. The synchronization is protected with end to end encryption.
Joplin also has a web clipper that allows you to save webpages as notes. The web clipper is available for Firefox and Chrome/Chromium browsers.
Joplin makes the switch from Evernote easier by allowing importing Evernote files in Enex format.
Since you own the data, you can export all your files either in Joplin format or in the raw format.
### Features of Joplin
![][4]
Heres a list of all the features Joplin provides:
* Save notes into notebooks and sub-notebooks for better organization
* Create to-do list
* Notes can be tagged and searched
* Offline first, so the entire data is always available on the device even without an internet connection
* Markdown notes with pictures, math notation and checkboxes support
* File attachment support
* Application available for desktop, mobile and terminal (CLI)
* [Web Clipper][5] for Firefox and Chrome
* End To End Encryption
* Keeps note history
* Notes sorting based on name, time etc
* Synchronisation with various [cloud services][6] like [Nextcloud][7], Dropbox, WebDAV and OneDrive
* Import files from Evernote
* Export JEX files (Joplin Export format) and raw files.
* Support notes, to-dos, tags and notebooks.
* Goto Anything feature.
* Support for notifications in mobile and desktop applications.
* Geo-location support.
* Supports multiple languages
* External editor support open notes in your favorite external editor with one click in Joplin.
**Recommended Read:**
![][8]
#### [EncryptPad Encrypted Text Editor For Linux][9]
Looking for a text editor with encryption in Linux? Meet EncryptPad, a text editor with built-in encryption.
### Installing Joplin on Linux and other platforms
![][10]
[Joplin][11] is a cross-platform application available for Linux, macOS and Windows. On the mobile, you can [get the APK file][12] to install it on Android and Android-based ROMs. You can also [get it from the Google Play store][13].
For Linux, you can [use AppImage][14] file for Joplin and run the application as an executable. Youll have to give execute permission to the downloaded file.
[Download Joplin][15]
### Experiencing Joplin
Notes in Joplin use markdown but you dont have to know markdown notations to use it. The editor has a top panel that lets you graphically choose the bullet points, headings, images, link etc.
Though Joplin provides many interesting features, you have to fiddle around on your own to check things out. For example, the web clipper is not enabled by default and I had to figure out how to do it.
You have to enable the clipper from the desktop application. From the top menu, go to Tools->Options. Youll find the Web Clipper option here:
![Enable Web Clipper from the desktop application first][16]
The web clipper is not as smart as Evernotes web clipper that allows to clip portion of a web article graphically. However, you still have good enough options here.
It is an open source software under active development and I do hope that it gets more improvement over the time.
**Conclusion**
If you are looking for a good note taking application with web-clipper feature, do give Joplin a try. And if you like it and would continue using, try to help Joplin development by making a donation or improving its code and documentation. I made a sweet little [donation][17] of 25 Euro on behalf of Its FOSS.
If you have used Joplin in the past or still using it, hows your experience with it? If you use some other note taking application, would you switch to Joplin? Feel free to share your views.
--------------------------------------------------------------------------------
via: https://itsfoss.com/joplin/
作者:[Abhishek Prakash][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/abhishek/
[b]: https://github.com/lujun9972
[1]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/01/joplin_logo.png?ssl=1
[2]: https://evernote.com/
[3]: https://joplinapp.org/
[4]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/01/joplin_featured.jpg?ssl=1
[5]: https://joplinapp.org/clipper/
[6]: https://itsfoss.com/cloud-services-linux/
[7]: https://nextcloud.com/
[8]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2017/02/encryptpad-text-editor-with-encryption.jpg?fit=800%2C450&ssl=1
[9]: https://itsfoss.com/encryptpad-encrypted-text-editor-linux/
[10]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/01/joplin_ubuntu.jpg?ssl=1
[11]: https://github.com/laurent22/joplin
[12]: https://itsfoss.com/download-apk-ubuntu/
[13]: https://play.google.com/store/apps/details?id=net.cozic.joplin&hl=en_US
[14]: https://itsfoss.com/use-appimage-linux/
[15]: https://github.com/laurent22/joplin/releases
[16]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/01/joplin_web_clipper.jpg?ssl=1
[17]: https://itsfoss.com/donations-foss/

View File

@ -1,5 +1,5 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: translator: (geekpi)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )

View File

@ -1,170 +0,0 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Best Open Source eCommerce Platforms to Build Online Shopping Websites)
[#]: via: (https://itsfoss.com/open-source-ecommerce/)
[#]: author: (Ankush Das https://itsfoss.com/author/ankush/)
Best Open Source eCommerce Platforms to Build Online Shopping Websites
======
In an earlier article, I listed some of the [best open-source CMS][1] options available out there. These CMS software, as the name suggests, are more suitable for content focused websites.
But what if you want to build your own online shopping websites? Thankfully, we have some good open source eCommerce solutions that you can deploy on your own Linux server.
These eCommerce software are tailored for the sole purpose of giving you a shopping website. So they have essential features like inventory management, product listings, cart, checkout, wishlisting and option to integrate a payment solution.
_Please note his is not an in-depth review article. So, I insist that you should try the platforms mentioned in this list to know more about them._
### Best Open Source eCommerce Platforms
![][2]
There are many open source eCommerce software available. I have filtered the ones which are actively maintained so that your shopping website doesnt suffer because of obsolete or maintained software stack.
_**It is also worth noting that the list here is in no particular order of ranking.**_
#### 1\. nopCommerce
![][3]
nopCommerce is a free and open-source eCommerce platform based on [ASP.NET Core][4]. If you were looking for a PHP-based solution you can skip to the next option on the list.
The user interface of its admin panel is clean and easy to use. If youve used OpenCart you might feel the similarity (but Im not complaining). By default, it has got all the essential features while offering a responsive design for mobile users as well.
You get access to an [official marketplace][5] where you can get supported themes and extensions. You can opt for premium support or manage it yourself for free.
To get started, you can download the package with its source code from its [official download page][6] if you want to customize it and deploy it. In either case, you can also download the complete package to get it installed on a web server quickly. You can check out their [GitHub page][7] and the official website to learn more.
[nopCommerce][8]
#### 2\. OpenCart
![][9]
OpenCart is a quite popular PHP-based eCommerce platform. Personally, Ive worked on it for a project and the experience was good enough if not excellent.
You may find it that it isnt super actively maintained but its still there and being utilized by a lot of web developers. You get support for a lot of extensions while having most of the essential features baked right into it.
For some, it may not be the best “modern” eCommerce platform but if you want a good open-source PHP-based alternative, it is worth a try. In most of the web hosting platforms with one-click app installation support, OpenCart should be available to setup. To learn more about it, you can head to its official website and check out the [GitHub page][10].
[OpenCart][11]
#### 3\. PrestaShop
![][12]
PrestaShop is yet another open-source eCommerce platform that you can utilize.
An actively maintained open-source solution with an official marketplace for [themes][13] and [extensions][14]. Unlike OpenCart, you may not find it available as a one-click app on hosting services but you can download it from its official website and it is quite easy to set it up. You can also refer to their [installation guide][15] if you need help.
It features a lot of options while being easy to use at the same time. I find a lot of users trying out PrestaShop you should take a look as well!
You can also take a look at their [GitHub page][16] to learn more.
[PrestaShop][17]
#### 4\. WooCommerce
![][18]
If you want to utilize [WordPress][19] for your eCommerce website, WooCommerce will help you out.
Technically, youre using WordPress as the platform and WooCommerce as a plugin/extension to enable the features needed for an eCommerce website. Potentially, a lot of people (web devs) know how to use WordPress so it will be easier to learn/create using WooCommerce, I think.
You shouldnt have a problem using WordPress, being one of the [best open source website builder][1] out there. Its easy to use, reliable and supports a ton of extensions and integrations for your online store.
The best part about using WooCommerce is its flexibility. You get tons of choices for the design and extensions of your online store. Its worth checking out! You can also head to its [GitHub page][20].
[WooCommerce][21]
#### 5\. Zen Cart
![][22]
This may not be a modern eCommerce platform but one of the best open-source solutions. If youre a fan of old school templates (HTML-based primarily) and do not need a whole lot of extensions but just the basics, you can try it out.
Personally, I wouldnt recommend this for a new project but just because it is still an active platform, feel free to experiment on it if you like it.
You can find the project on [SourceForge][23] as well.
[Zen Cart][24]
#### 6\. Magento
![Image Credits: Magestore][25]
An Adobe-owned open-source eCommerce platform that is potentially better than WordPress (depending on your preferences obviously).
Magento is completely tailored for e-commerce applications so you will find a lot of essential features easy to use while offering advanced customizations as well.
However, when utilizing the open-source edition, you might miss some of the features available in their hosted offering. You can refer to their [comparison guide][26] for details. Of course, you can self-host it but if you want a managed hosting support, thats available as well.
You can also take a look at their [GitHub page][27] to learn more.
[Magento][28]
#### 7\. Drupal
![Drupal][29]
Drupal is another open-source CMS platform that is suitable for creating an eCommerce website.
Ive never used it so Im not really sure of its flexibility but looking at its list of modules (Extensions) and themes available on its official site, it looks like you can do almost everything you need for an eCommerce platform easily.
You should be able to install it easily on any web server just like you install WordPress so give it a try and see how it goes. You can even download the latest releases and check out the project on their [download page][30].
[Drupal][31]
**Wrapping Up**
Im sure there are a few more open-source eCommerce platforms out there however, I havent come across anything thats better than what Ive listed above (yet).
If you think that I missed one of your favorites that deserves a mention, let me know in the comments. Also, feel free to share your experience and thoughts about the open-source eCommcerce platforms available in the comments section below.
--------------------------------------------------------------------------------
via: https://itsfoss.com/open-source-ecommerce/
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/ankush/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/open-source-cms/
[2]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/02/open-source-eCommerce.png?ssl=1
[3]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/01/nopCommerce.png?ssl=1
[4]: https://en.wikipedia.org/wiki/ASP.NET_Core
[5]: https://www.nopcommerce.com/marketplace
[6]: https://www.nopcommerce.com/download-nopcommerce
[7]: https://github.com/nopSolutions/nopCommerce
[8]: https://www.nopcommerce.com/
[9]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/01/opencart.jpg?ssl=1
[10]: https://github.com/opencart/opencart
[11]: https://www.opencart.com/
[12]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/01/prestashop.jpg?ssl=1
[13]: https://addons.prestashop.com/en/3-templates-prestashop
[14]: https://addons.prestashop.com/en/
[15]: http://doc.prestashop.com/display/PS17/Installing+PrestaShop
[16]: https://github.com/PrestaShop/PrestaShop
[17]: https://www.prestashop.com/en
[18]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/01/woocommerce.jpg?ssl=1
[19]: https://wordpress.org/
[20]: https://github.com/woocommerce/woocommerce
[21]: https://woocommerce.com/
[22]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/01/Zen-cart.jpg?ssl=1
[23]: https://sourceforge.net/projects/zencart/
[24]: https://www.zen-cart.com/
[25]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/01/magento.jpg?ssl=1
[26]: https://magento.com/compare-open-source-and-magento-commerce
[27]: https://github.com/magento
[28]: https://magento.com/
[29]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/01/drupal.png?ssl=1
[30]: https://www.drupal.org/project/drupal
[31]: https://www.drupal.org/industries/ecommerce

View File

@ -0,0 +1,75 @@
[#]: collector: (lujun9972)
[#]: translator: (hopefully2333)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (What's HTTPS for secure computing?)
[#]: via: (https://opensource.com/article/20/1/confidential-computing)
[#]: author: (Mike Bursell https://opensource.com/users/mikecamel)
用于安全计算的 HTTPS 是什么?
======
在默认的情况下,网站的安全性还不足够。
![Secure https browser][1]
在过去的几年里,寻找一个只以 "http://…" 开头的网站变得越来越难,这是因为行业终于意识到,网络安全是 “一件事”,同时也是因为客户端和服务端之间建立和使用 https 连接变得更加容易了。类似的转变可能正以不同的方式发生在云计算、边缘计算、物联网、区块链,人工智能、机器学习等领域。长久以来,我们都知道我们应该对存储的静态数据和在网络中传输的数据进行加密,但是在使用和处理数据的时候对它进行加密是困难且昂贵的。可信计算-使用例如受信任的执行环境TEEs这样的硬件功能来提供数据和算法这种类型的保护-保护主机系统中的或者易受攻击的环境中的数据。
我已经写了几次关于 TEEs 的文章,当然,还有我和 Nathaniel McCallum 共同创立的 Enarx 项目(要看 Enarx 项目的所有人(一个任务)和 Enarx 的多平台示例。Enarx 使用 TEEs 来提供独立于平台和语言的部署平台以此来让你能够安全地将敏感应用或者敏感组件例如微服务部署在你不信任的主机上。Enarx 当然是完全开源的(或许会有人感兴趣,我们使用的是 Apache 2.0 许可证)。能够在你不信任的主机上运行工作程序,这是可信计算的承诺,它为静态敏感数据和传输中数据的使用扩展了常规做法:
* **存储:** 你要加密你的静态数据,因为你不完全信任你的基础存储架构。
* **网络:** 你要加密你正在传输中的数据,因为你不完全信任你的基础网络架构。
* **计算:** 你要加密你正在使用中的数据,因为你不完全信任你的基础计算架构。
关于信任,我有非常多的话想说,而且,上述说法里的单词“完全”是很重要的(在重新读我写的这篇文章的时候,我新加了这个单词)。在所有的情况下,你必须在一定程度上信任你的基础设施,无论是传递你的数据包还是存储你的数据块,例如,对于计算基础架构,你必须要去信任 CPU 和与之关联的固件,这是因为如果你不信任他们,你就无法真正地进行计算(现在有一些诸如同态加密一类的技术,这些技术正在开始提供一些机会,但是它们依然是有限的,这些技术还不够成熟)。
你在考虑是否应该完全信任 cpu 时,问题有时也会随之一起到来,还会同时发现一些安全问题,并且是否无论主机在哪都应该完全免受物理攻击。
这两个问题的回答都是“不”,但是在考虑到大规模可用性和普遍推广开的成本,这已经是我们当前拥有的最好的技术了。为了解决第二个问题,没有人去假装这项技术(或者任何的其他技术)是完全安全的:我们需要做的是思考我们的威胁模型并确定这个情况下的 TEEs 是否为我们的特殊需求提供了足够的安全防护。关于第一个问题Enarx 采用的模型是在部署时就对你是否信任一个特定的 CPU 组做出决定。举个例子,如果供应商 Q 的 R 代芯片被发现有漏洞,可以很简单地说“我拒绝将我的工作内容部署到 Q 的 R 代芯片上去,但是仍然可以部署到 Q 的 S 型号T 型号和 U 型号的芯片以及任何 PM 和 N 供应商的任何芯片上去。”
我认为这里发生了三处改变,这些改变引起了人们现在对机密计算的兴趣和采用。
1. **硬件可用性:** 仅仅在过去的 6 到 12 个月里,支持 TEEs 的硬件才开始变得广泛可用,这会儿市场上的主要例子是 Intel 的 SGX 和 AMD 的 SEV。我们期望在未来可以看到支持 TEE 的硬件的其他例子。
2. **行业准备:** 就像上云越来越多地被接受作为应用程序部署的模型,监管机构和立法机构也在提高各类组织保护其管理的数据的要求。组织开始强烈呼吁在不受信任的主机-或者更确切地说在他们不能完全信任且带有敏感数据的主机上运行敏感程序或者是处理敏感数据的应用程序的方法。这应该是不足为奇的如果芯片制造商看不到这项技术的市场他们就不会投太多的钱在这项技术上。Linux 基金会的机密计算联盟CCC的成立就是一个行业如何有志于发现使用加密计算的公共模型并且鼓励开源项目使用这些技术的案例。
3. **开源:** 就像区块链一样,加密计算是使用起来绝对不费吹灰之力的开源技术之一。如果你要运行敏感程序,你需要去信任正在为你运行的程序。不仅仅是 CPU 和固件,同样还有在 TEE 内支持你工作扩展的框架。可以很好地说,“我不信任主机机器和它上面的软件栈,所以我打算使用 TEE”但是如果你不够了解 TEE 软件环境那你就是将一种不透明的软件换成另外一种。TEEs 的开源支持将允许你或者社区-实际上是你和社区-以一种专有软件不可能实现的方式来检查和审计你所运行的程序。这就是为什么 CCC 位于 Linux 基金会(这个基金会致力于开放式开发模型)并鼓励 TEE 相关的软件项目加入且成为开源项目(如果他们还没有成为开源)。
我认为,在过去的 15 到 20 年里,硬件可用性,行业准备和开源已成为推动技术改变的驱动力。区块链,人工智能,云计算,互联网计算,大数据和互联网商务都是这三个点同时发挥作用的例子,并且在行业内带来了巨大的改变。
在一般情况下,安全是我们这数十年来听到的一种承诺,并且其仍然未被实现。老实说,我不确定它未来会不会实现。但是随着新技术的到来,特定用例的无处不在的安全变得越来越实际,并且在业内受到越来越多的期待。这样看起来,机密计算似乎已准备好成为成为下一个重大变化-而你,我亲爱的读者,可以一起来加入到这场革命(毕竟它是开源的)。
* * *
1. Enarx是红帽发起的是一个 CCC 项目。
* * *
这篇文章最初是发布在 Alice, Eve, and Bob 上的,这是得到了作者许可的重发。
--------------------------------------------------------------------------------
via: https://opensource.com/article/20/1/confidential-computing
作者:[Mike Bursell][a]
选题:[lujun9972][b]
译者:[hopefully2333](https://github.com/hopefully2333)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/mikecamel
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/secure_https_url_browser.jpg?itok=OaPuqBkG (Secure https browser)
[2]: https://aliceevebob.com/2019/02/26/oh-how-i-love-my-tee-or-do-i/
[3]: https://enarx.io/
[4]: https://aliceevebob.com/2019/08/20/enarx-for-everyone-a-quest/
[5]: https://aliceevebob.com/2019/10/29/enarx-goes-multi-platform/
[6]: https://aliceevebob.com/2018/02/20/there-are-no-absolutes-in-security/
[7]: https://confidentialcomputing.io/
[8]: tmp.VEZpFGxsLv#1
[9]: https://aliceevebob.com/2019/12/03/confidential-computing-the-new-https/

View File

@ -0,0 +1,183 @@
[#]: collector: (lujun9972)
[#]: translator: (Morisun029)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Use this Python script to find bugs in your Overcloud)
[#]: via: (https://opensource.com/article/20/1/logtool-root-cause-identification)
[#]: author: (Arkady Shtempler https://opensource.com/users/ashtempl)
用 Python 脚本发现 Overcloud 中的问题
======
LogTool 是一组 Python 脚本,可帮助你找出 Overcloud 节点中问题的根本原因。
![Searching for code][1]
OpenStack 在其 Overcloud 节点和 Undercloud 主机上存储和管理了一堆日志文件。因此,使用 OSP 日志文件来排查遇到的问题并不是一件容易的事,尤其在你甚至都不知道是什么原因导致问题时。
如果你正处于这种情况,那么 [LogTool][2] 可以使你的生活变得更加轻松!它会为你节省本需要人工排查问题所需的时间和精力。 LogTool 基于模糊字符串匹配算法可提供过去发生的所有唯一错误和警告信息。你可以根据日志中的时间戳导出特定时间段例如10分钟前一个小时前一天前等的这些信息。
LogTool 是一组 Python 脚本,其主要模块 PyTool.py 在 Undercloud 主机上执行。某些操作模式使用直接在Overcloud 节点上执行的其他脚本,例如从 Overcloud 日志中导出错误和警告信息。
LogTool 支持 Python 2 和 Python 3你可以根据需要更改工作目录[LogTool_Python2][3] or [LogTool_Python3][4].
### 操作方式
#### 1\. 从 Overcloud 日志中导出错误和警告信息
此模式用于从过去发生的 Overcloud 节点中提取 **错误****警告** 信息。作为用户系统将提示你“开始时间”和“调试级别”以用于提取错误或警告消息。例如如果在过去10分钟内出了问题你则可以只提取该时间段内的错误和警告消息。
此操作模式将为每个 Overcloud 节点生成一个包含结果文件的目录。结果文件是经过压缩(***.gz**)的简单文本文件,以减少从 Overcloud 节点下载所需的时间。将压缩文件转换为常规文本文件,可以使用 zcat 或类似工具。此外Vi 的某些版本和 Emacs 的任何最新版本均支持读取压缩数据。结果文件分为几部分,并在底部包含目录。
LogTool 可以即时检测两种日志文件:标准和非标准。在标准文件中,每条日志行都有一个已知的和已定义的结构:时间戳,调试级别,信息等等。在非标准文件中,日志的结构未知。例如,它可能是第三方的日志。在目录中,你可以找到每个部分的"名称 --> 行号" 例如:
* **原始数据 - 从标准 OSP 日志中提取的错误/警告消息:** 这部分包含所有提取的错误/警告消息,没有任何修改或更改。这些消息是 LogTool 用于模糊匹配分析的原始数据。
* **统计信息 - 每个标准 OSP 日志的错误/警告信息数量:** 在此部分,你将找到每个标准日志文件的错误和警告数量。这些信息可以帮助你了解用于排查问题根本原因的潜在组件。
* **统计信息 - 每个标准 OSP 日志文件的唯一消息:** 这部分提供指定时间戳内的唯一的错误和警告消息。有关每个唯一错误或警告的更多详细信息,请在“原始数据”部分中查找相同的消息。
* **统计信息 - 每个非标准日志文件在任意时间的唯一消息:** 此部分包含非标准日志文件中的唯一消息。遗憾的是LogTool 无法像标准日志文件那样的处理方式处理这些日志文件。因此,在你提取“特定时间”的日志信息时会被忽略,你会看到过去创建的所有唯一的错误/警告消息。因此,首先,向下滚动到结果文件底部的目录并查看其部分-使用目录中的行索引跳到相关部分其中第3、4和5行的信息最重要。
#### 2\. 从 Overcloud 节点下载所有日志
所有 Overcloud 节点的日志将被压缩并下载到 Undercloud 主机上的本地目录。
#### 3\. 所有 Overcloud 日志中使用 Grep 搜索字符串
该模式中使用“greps”来搜索由用户在所有 Overcloud 日志上提供的字符串。例如你可能希望查看特定请求的所有日志消息例如“创建VM”的失败的请求ID。
#### 4\. 检查 Overcloud 上当前的 CPURAM 和磁盘使用情况
该模式显示每个 Overcloud 节点上的当前 CPURAM 和磁盘信息。
#### 5\. 执行用户脚本
该模式使用户可以在 Overcloud 节点上运行自己的脚本。例如,假设 Overcloud 部署失败你就需要在每个Controller 节点上执行相同的过程来修复该问题。你可以实现“替代方法”脚本,并使用此模式在 Controller 上运行它。
#### 6\. 仅按给定的时间戳下载相关日志
此模式仅下载 Overcloud 上 “给定的时间戳”的“上次修改时间”的日志。例如如果10分钟前出现错误则与旧日志文件就没有关系因此无需下载。此外你不能或不应在某些错误报告工具中附加大文件因此此模式可能有助于编写错误报告。
#### 7\. 从 Undercloud 日志中导出错误和警告信息
这与上面的模式1相同。
#### 8\. 在 Overcloud 上检查不健康的 docker
此模式用于在节点上搜索不正常的 Docker。
#### 9\. 下载 OSP 日志并在本地运行 LogTool
此模式允许你从 Jenkins 或 Log Storage 下载 OSP 日志 (例如, **cougar11.scl.lab.tlv.redhat.com**),并在本地分析。
#### 10\. 在 Undercloud 上分析部署日志
此模式可以帮助你了解 Overcloud 或 Undercloud 部署过程中出了什么问题。例如,在**overcloud_deploy.sh** 脚本中,使用 **\--log**选项时会生成部署日志;此类日志的问题是“不友好”,你很难理解是什么出了问题,尤其是当详细程度设置为**vv** 或更高时,使得日志中的数据难以读取。此模式提供有关所有失败任务的详细信息。
#### 11\. 分析 GerritZuul失败的日志
此模式用于分析 GerritZuul日志文件。它会自动从远程 Gerrit 门下载所有文件HTTP下载并在本地进行分析。
### 安装
GitHub 上有 LogTool使用以下命令将其克隆到你的 Undercloud 主机:
```
`git clone https://github.com/zahlabut/LogTool.git`
```
该工具还使用了一些外部 Python 模块:
#### Paramiko
默认情况下SSH 模块通常会安装在 Undercloud 上。使用以下命令来验证是否已安装:
```
`ls -a /usr/lib/python2.7/site-packages | grep paramiko`
```
如果需要安装模块,请在 Undercloud 上执行以下命令:
```
sudo easy_install pip
sudo pip install paramiko==2.1.1
```
#### BeautifulSoup
此 HTML 解析器模块仅在使用 HTTP 下载日志文件的模式下使用。它用于解析 Artifacts HTML 页面以获取其中的所有链接。安装 BeautifulSoup请输入以下命令
```
`pip install beautifulsoup4`
```
你还可以通过执行以下命令使用[requirements.txt][6]文件安装所有必需的模块:
```
`pip install -r requirements.txt`
```
### 配置
所有必需的参数都直接在**PyTool.py**脚本中设置。默认值为:
```
overcloud_logs_dir = '/var/log/containers'
overcloud_ssh_user = 'heat-admin'
overcloud_ssh_key = '/home/stack/.ssh/id_rsa'
undercloud_logs_dir ='/var/log/containers'
source_rc_file_path='/home/stack/'
```
### 用法
此工具是交互式的,因此要启动它,只需输入:
```
cd LogTool
python PyTool.py
```
### 排除 LogTool 故障
在运行时会创建两个日志文件Error.log 和 Runtime.log*.* 请在你要打开的问题的描述中添加两者的内容。
### 局限性
LogTool 进行硬编码以处理最大500 MB 的文件。
### LogTool_Python3 脚本
在 [github.com/zahlabut/LogTool][2] 获取。
--------------------------------------------------------------------------------
via: https://opensource.com/article/20/1/logtool-root-cause-identification
作者:[Arkady Shtempler][a]
选题:[lujun9972][b]
译者:[Morisun029](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/ashtempl
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/search_find_code_python_programming.png?itok=ynSL8XRV (Searching for code)
[2]: https://github.com/zahlabut/LogTool
[3]: https://github.com/zahlabut/LogTool/tree/master/LogTool_Python2
[4]: https://github.com/zahlabut/LogTool/tree/master/LogTool_Python3
[5]: https://opensource.com/article/19/2/getting-started-cat-command
[6]: https://github.com/zahlabut/LogTool/blob/master/LogTool_Python3/requirements.txt

View File

@ -0,0 +1,116 @@
[#]: collector: (lujun9972)
[#]: translator: (geekpi)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Joplin: The True Open Source Evernote Alternative)
[#]: via: (https://itsfoss.com/joplin/)
[#]: author: (Abhishek Prakash https://itsfoss.com/author/abhishek/)
Joplin真正的 Evernote 开源替代品
======
_**简介Joplin 是一个开源笔记记录和待办应用。你可以将笔记组织到笔记本中并标记它们。Joplin 还提供网络剪贴板来保存来自互联网的文章。**_
### Joplin开源笔记管理器
![][1]
如果你喜欢[Evernote][2],那么你不会不太适应开源软件 [Joplin][3]。
Joplin 是一个优秀的开源笔记应用,拥有丰富的功能。你可以记笔记、写待办事项并且通过和 Dropbox 和 NextCloud 等云服务链接来跨设备同步笔记。同步通过端到端加密保护。
Joplin 还有一个 Web 剪贴板,能让你将网页另存为笔记。网络剪贴板可用于 Firefox 和 Chrome/Chromium 浏览器。
Joplin 可以导入 enex 格式的 Evernote 文件, 这让从 Evernote 切换变得容易。
因为自己保存数据,你可以用 Joplin 格式或者原始格式导出所有文件。
### Joplin 的功能
![][4]
以下是 Joplin 的所有功能列表:
* 将笔记保存到笔记本和子笔记本中,以便更好地组织
  * 创建待办事项清单
  * 笔记可以被标记和搜索
  * 离线优先,因此即使没有互联网连接,所有数据始终在设备上可用
  * Markdown 笔记支持图片、数学符号和复选框
  * 支持附件
  * 应用可在桌面、移动设备和终端CLI使用
  * 可在 Firefox 和 Chrome 使用[网页剪切板][5]
  * 端到端加密
  * 保留笔记历史
  * 根据名称,时间等对笔记进行排序
  * 与 [Nextcloud][7]、Dropbox、WebDAV 和 OneDrive 等各种[云服务][6]同步
  * 从 Evernote 导入文件
  * 导出 JEX 文件Joplin 导出格式)和原始文件。
  * 支持笔记、待办事项、标签和笔记本。
  * 任意跳转功能。
  * 支持移动设备和桌面应用通知。
  * 地理位置支持。
  * 支持多种语言
  * 外部编辑器支持–在 Joplin 中一键用你最喜欢的编辑器打开笔记。
### Installing Joplin on Linux and other platforms
![][10]
[Joplin][11] 是一个跨平台应用,可用于 Linux、macOS 和 Windows。在移动设备上你可以[获取 APK 文件][12]将其安装在 Android 和基于 Android 的 ROM 上。你也可以[从谷歌 Play 商店下载][13]。
在 Linux 中,你可以获取 Joplin 的 [AppImage][14] 文件,并作为可执行文件运行。你需要为下载的文件授予执行权限。
[Download Joplin][15]
### 体验 Joplin
Joplin 中的笔记使用 markdown但你不需要了解它。编辑器的顶部面板能让你以图形方式选择项目符号、标题、图像、链接等。
虽然 Joplin 提供了许多有趣的功能,但你需要自己去尝试。例如,默认情况下未启用 Web 剪切板,我需要发现如何打开它。
你需要从桌面应用启用剪切板。在顶部菜单中,进入 “Tools->Options”。你可以在此处找到 Web 剪切板选项:
![Enable Web Clipper from the desktop application first][16]
它的 Web 剪切板不如 Evernote 的 Web 剪切板聪明,后者可以以图形方式剪辑网页文章的一部分。但是,它也足够了。
这是一个在积极开发中的开源软件,我希望它随着时间的推移得到更多的改进。
**总结**
如果你正在寻找一个不错的拥有 Web 剪切板的笔记应用,你可以试试 Joplin。如果你喜欢它并将继续使用尝试通过捐赠或改进代码和文档来帮助 Joplin 开发。我以 FOSS 的名义[捐赠][17]了 25 欧。
如果你曾经使用过 Joplin或者仍在使用它你对此的体验如何如果你用的是其他笔记应用你会切换到 Joplin 么?欢迎分享你的观点。
--------------------------------------------------------------------------------
via: https://itsfoss.com/joplin/
作者:[Abhishek Prakash][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/abhishek/
[b]: https://github.com/lujun9972
[1]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/01/joplin_logo.png?ssl=1
[2]: https://evernote.com/
[3]: https://joplinapp.org/
[4]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/01/joplin_featured.jpg?ssl=1
[5]: https://joplinapp.org/clipper/
[6]: https://itsfoss.com/cloud-services-linux/
[7]: https://nextcloud.com/
[10]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/01/joplin_ubuntu.jpg?ssl=1
[11]: https://github.com/laurent22/joplin
[12]: https://itsfoss.com/download-apk-ubuntu/
[13]: https://play.google.com/store/apps/details?id=net.cozic.joplin&hl=en_US
[14]: https://itsfoss.com/use-appimage-linux/
[15]: https://github.com/laurent22/joplin/releases
[16]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/01/joplin_web_clipper.jpg?ssl=1
[17]: https://itsfoss.com/donations-foss/

View File

@ -0,0 +1,168 @@
[#]: collector: (lujun9972)
[#]: translator: (HankChow)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Best Open Source eCommerce Platforms to Build Online Shopping Websites)
[#]: via: (https://itsfoss.com/open-source-ecommerce/)
[#]: author: (Ankush Das https://itsfoss.com/author/ankush/)
7 个可用于自建电商站点的开源解决方案
======
在[之前的文章][1]中,我介绍过一些开源<ruby>内容管理系统<rt>Content Management System</rt></ruby>CMS顾名思义这些 CMS 平台更适用于以内容为主的站点。
那如果想要建立自己的线上购物站点呢?我们正好还有一些优秀的开源电商解决方案,可以自行部署在自己的 Linux 服务器上。
这些电商解决方案是专为搭建线上购物站点设计的,因此都集成了库存管理、商品列表、购物车、下单、愿望清单以及支付这些必需的基础功能。
_但请注意这篇文章并不会进行深入介绍。因此我建议最好广泛试用其中的多个产品以便进一步的了解和比较。_
### 优秀的开源电商解决方案
![][2]
开源电商解决方案种类繁多,一些缺乏维护的都会被我们忽略掉,以免搭建出来的站点因维护不及时而受到影响。
_**另外,以下的列表排名不分先后。**_
#### 1\. nopCommerce
![][3]
nopCommerce 是基于 [ASP.NET Core][4] 的自由开源电商解决方案。如果你要找的是基于 PHP 的解决方案,可以跳过这一节了。
nopCommerce 的管理面板界面具有简洁易用的特点,如果你还使用过 OpenCart就可能会感到似曾相识。在默认情况下它就已经自带了很多基本的功能同时还为移动端用户提供了响应式的设计。
你可以在其[官方商店][5]中获取到一些兼容的界面主题和应用扩展,还可以选择付费的支持服务。
在开始使用前,你可以从 nopCommerce 的[官方网站][6]下载源代码包,然后进行自定义配置和部署;也可以直接下载完整的软件包快速安装到 web 服务器上。详细信息可以查阅 nopCommerce 的 [GitHub 页面][7]或官方网站。
[nopCommerce][8]
#### 2\. OpenCart
![][9]
OpenCart 是一个基于 PHP 的非常流行的电商解决方案, 我个人感觉它还是相当不错的。
或许你会觉得它维护得不是很频繁,但实际上使用 OpenCart 的开发者并不在少数。你可以获得许多受支持的扩展并将它们的功能加入到 OpenCart 中。
OpenCart 不一定是适合所有人的电商解决方案,但如果你需要的只是一个基于 PHP 的开源解决方案OpenCart 是个值得一试的选择,毕竟它可以方便地一键完成安装。想要了解更多,可以查阅 OpenCart 的官方网站或 [GitHub 页面][10]。
[OpenCart][11]
#### 3\. PrestaShop
![][12]
PrestaShop 也是一个可以尝试的开源电商解决方案。
PrestaShop 则是一个积极维护下的开源解决方案,它的官方商店中也有额外提供主题和扩展。与 OpenCart 不同PrestaShop 不是一个能够一键安装的应用。但不需要担心,从官方网站下载下来之后,它的部署过程也并不复杂。如果你需要帮助,也可以参考 PrestaShop 的[安装指南][15]。
PrestaShop 的特点就是配置丰富和易于使用,我发现很多其它用户也在用它,你也不妨试用一下。
你也可以在 PrestaShop 的 [GitHub 页面][16]查阅到更多相关内容。
[PrestaShop][17]
#### 4\. WooCommerce
![][18]
如果你想用 [WordPress][19] 来搭建电商站点,不妨使用 WooCommerce。
严格来说,这种方式其实是搭建一个 WordPress 应用,然后把 WooCommerce 作为一个插件或扩展以实现电商站点所需要的功能。很多 web 开发者都知道如何使用 WordPress因此 WooCommerce 的学习成本不会很高。
WordPress 作为目前最好的开源站点项目之一,对大部分人来说都不会有太高的门槛。它具有易用、稳定的特点,同时还支持大量的扩展插件。
WooCommerce 的灵活性也是一大亮点,在它的线上商店提供了许多设计和扩展可供选择。你也可以到它的 [GitHub 页面][20]查看相关介绍。
[WooCommerce][21]
#### 5\. Zen Cart
![][22]
这或许是一个稍显古老的电商解决方案,但同时也是最好的开源解决方案之一。如果你喜欢老式风格的模板(主要基于 HTML而且只需要一些基础性的扩展那你也可以尝试使用 Zen Cart。
就我个人而言,我不建议把 Zen Cart 用在一个新项目当中。但考虑到它仍然是一个活跃更新中的解决方案,如果你喜欢的话,也不妨用它来进行试验。
你也可以在 [SourceForge][23] 找到 Zen Cart 这个项目。
[Zen Cart][24]
#### 6\. Magento
![Image Credits: Magestore][25]
Magento 是 Abode 旗下的开源电商解决方案,从某种角度来说,可能比 WordPress 表现得更为优秀。
Magento 完全是作为电商应用程序而生的,因此你会发现它的很多基础功能都非常好用,甚至还提供了高级的定制。
但如果你使用的是 Magento 的开源版,可能会接触不到托管版的一些高级功能,两个版本的差异,可以在[官方文档][26]中查看到。如果你使用托管版,还可以选择相关的托管支持服务。
想要了解更多,可以查看 Magento 的 [GitHub 页面][27]。
[Magento][28]
#### 7\. Drupal
![Drupal][29]
Drupal 是一个适用于创建电商站点的开源 CMS 解决方案。
我没有使用过 Drupal因此我不太确定它用起来是否足够灵活。但从它的官方网站上来看它提供的扩展模块和主题列表足以让你轻松完成一个电商站点需要做的任何事情。
跟 WordPress 类似Drupal 在服务器上的部署并不复杂,不妨看看它的使用效果。在它的[下载页面][30]可以查看这个项目以及下载最新的版本。
[Drupal][31]
总结
以上是我接触过最好的几个开源电商解决方案了,当然或许还会有很多更好的同类产品。如果你还有其它值得一提的产品,可以在评论区发表。也欢迎在评论区分享你对开源电商解决方案的经验和想法。
--------------------------------------------------------------------------------
via: https://itsfoss.com/open-source-ecommerce/
作者:[Ankush Das][a]
选题:[lujun9972][b]
译者:[HankChow](https://github.com/HankChow)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://itsfoss.com/author/ankush/
[b]: https://github.com/lujun9972
[1]: https://itsfoss.com/open-source-cms/
[2]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/02/open-source-eCommerce.png?ssl=1
[3]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/01/nopCommerce.png?ssl=1
[4]: https://en.wikipedia.org/wiki/ASP.NET_Core
[5]: https://www.nopcommerce.com/marketplace
[6]: https://www.nopcommerce.com/download-nopcommerce
[7]: https://github.com/nopSolutions/nopCommerce
[8]: https://www.nopcommerce.com/
[9]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/01/opencart.jpg?ssl=1
[10]: https://github.com/opencart/opencart
[11]: https://www.opencart.com/
[12]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/01/prestashop.jpg?ssl=1
[13]: https://addons.prestashop.com/en/3-templates-prestashop
[14]: https://addons.prestashop.com/en/
[15]: http://doc.prestashop.com/display/PS17/Installing+PrestaShop
[16]: https://github.com/PrestaShop/PrestaShop
[17]: https://www.prestashop.com/en
[18]: https://i1.wp.com/itsfoss.com/wp-content/uploads/2020/01/woocommerce.jpg?ssl=1
[19]: https://wordpress.org/
[20]: https://github.com/woocommerce/woocommerce
[21]: https://woocommerce.com/
[22]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/01/Zen-cart.jpg?ssl=1
[23]: https://sourceforge.net/projects/zencart/
[24]: https://www.zen-cart.com/
[25]: https://i0.wp.com/itsfoss.com/wp-content/uploads/2020/01/magento.jpg?ssl=1
[26]: https://magento.com/compare-open-source-and-magento-commerce
[27]: https://github.com/magento
[28]: https://magento.com/
[29]: https://i2.wp.com/itsfoss.com/wp-content/uploads/2020/01/drupal.png?ssl=1
[30]: https://www.drupal.org/project/drupal
[31]: https://www.drupal.org/industries/ecommerce