Инсталирайте Plesk на CentOS 7
Използване на различна система? Plesk е собствен контролен панел за уеб хост, който позволява на потребителите да администрират своите лични и/или клиентски уебсайтове, бази данни
LLVM е компилаторна инфраструктура с отворен код. LLVM стартира през 2000 г. и е широко използван и модифициран от Apple от 2005 г. Clang е компилатор на C, C++, Objective-C и Objective-C++, който работи със системата LLVM. Clang е стартиран през 2007 г. от Apple и оттогава Google и Intel се включват в непрекъснатото му развитие.
Разработчиците на Clang твърдят, че в сравнение с GCC, той се компилира по-бързо, използва по-малко памет, дава по-удобна диагностика по време на компилацията и е съвместим с GCC.
CentOS следва развитието на Red Hat Enterprise Linux (RHEL). RHEL се стреми да бъде стабилна сървърна платформа, което означава, че не бърза да включва най-новите версии на всичко.
Към написването на тази статия CentOS 6 официално разпространява LLVM & Clang v3.4.2. Въпреки това, Clang v3.6 беше пуснат.
Официалното предложение е, ако имате нужда от по-нова версия на LLVM & Clang, трябва да помислите за различна UNIX дистрибуция, която е по-фокусирана върху поддръжката на най-новите версии на софтуерни пакети.
За щастие можете да инсталирате по-нова версия LLVM & Clang GCC на CentOS. Това се отклонява от чистото използване на официално разпространения софтуер, но понякога може да почувствате, че нямате малък избор.
Тази статия описва как да инсталирате официално поддържаната версия на CentOS 6 на LLVM & Clang и как да инсталирате по-нова версия. Тази статия предполага, че имате прясно инсталиран CentOS 6 VPS, но със сигурност можете да следвате инструкциите на VPS, който вече използвате.
Clang е до голяма степен независим от GCC, но към написването на тази статия Clang все още използва няколко споделени библиотеки, инсталирани от GCC (а именно crtbegin.o
, gcc
, и gcc_s
). Ако инсталирате LLVM & Clang на CentOS 6, няма да можете да компилирате нищо, ако нямате и GCC във вашата система за тези споделени библиотеки. В идеалния случай yum би имал пакетна зависимост за clang на gcc и gcc-c++, но към написването на тази статия yum не знае за зависимостта.
Освен това, изграждането на по-нова версия на LLVM & Clang от източник изисква G++ v4.7+, който можете да получите само на CentOS 6, като го инсталирате от източник.
Ако изпълните всички стъпки по-долу, ще получите 2 версии на GCC и 2 версии на LLVM & Clang. Това включва официално поддържана двоична по-стара версия и по-нова версия от източник за всяка програма. Въпреки това, няма нужда да изпълнявате всички стъпки по-долу. Можете да решите дали искате официално поддържаната двоична по-стара версия на LLVM & Clang или по-новата версия от източника и да стартирате който раздел от инструкции отговаря на вашето решение.
ВАЖНО! Първо, инсталирайте официално поддържана (по-стара) версия на GCC, като изпълните стъп��ите в статията Как да инсталирате GCC на CentOS 6 – НЕ е необходимо да изпълнявате стъпките под заглавието на тази статия „Инсталирайте по-нова версия на GCC от източника ".
Инсталирайте LLVM & Clang
sudo yum install clang
--- This will bring in llvm as a dependency
Проверете инсталираните версии и вижте местоположението им.
clang --version
May say: clang version 3.4.2 (tags/RELEASE_34/dot2-final)
which clang
/usr/bin/clang
gcc --version
May say: gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
g++ --version
May say: g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
which gcc
/usr/bin/gcc
which g++
/usr/bin/g++
За да създадете LLVM & Clang от източник на CentOS, трябва да имате GCC v4.7 или по-нова. CentOS 6 няма толкова висока версия в yum, така че първо трябва да инсталирате по-нов GCC от източника.
ВАЖНО! Първо, инсталирайте по-нова версия на GCC от източника, като изпълните стъпките в статията Как да инсталирате GCC на CentOS 6 - трябва да изпълните всички стъпки в тази статия, включително под заглавието "Инсталиране на по-нова версия на GCC от източник".
Инсталирайте допълнително необходими пакети.
sudo yum install cmake
Инсталирайте по-нова версия на Python. LLVM & Clang v3.6.0 изисква Python v2.7+, но CentOS 6 yum хранилище има само Python v2.6.6.
mkdir ~/sourceInstallations
cd ~/sourceInstallations
wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar -xvf Python-2.7.9.tgz
cd Python-2.7.9
./configure && make && sudo make install
Решете коя версия на LLVM & Clang искате. Тази команда ще ви покаже "таговете" за наличните версии.
svn ls http://llvm.org/svn/llvm-project/llvm/tags | grep RELEASE
RELEASE_1/
...
RELEASE_352/
RELEASE_360/
RELEASE_361/
svn ls http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_361
rc1/
--- At this time, there is no final, just a release candidate. You could certainly use a release candidate, but this article will show how to use a final release.
svn ls http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_360
final/
rc1/
rc2/
rc3/
rc4/
Вземете източника на версията на LLVM & Clang, която искате. Това ще работи за няколко минути. Останалата част от тази статия е написана RELEASE_360/
и ще изтегли източниците в ~/sourceInstallations/llvm_RELEASE_360/
-- Ще трябва да замените правилния таг, за да пасне на бъдещи версии. Директориите по-долу на compiler-rt
, libcxx
, и libcxxabi
не са абсолютно необходими, но съдържат някои от функциите, които LLVM & Clang имат, но GCC няма, така че са включени в тази статия. Има и други LLVM "подпроекти", които можете да изберете да използвате, като dragonegg, LLDB, OpenMB, vmkit, polly, libclc, klee, SAFECode и lld. Можете да прочетете за тях на уебсайта на LLVM .
cd ~/sourceInstallations
svn co http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_360/final llvm_RELEASE_360
cd llvm_RELEASE_360/tools
svn co http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_360/final clang
cd ../projects
svn co http://llvm.org/svn/llvm-project/compiler-rt/tags/RELEASE_360/final compiler-rt
svn co http://llvm.org/svn/llvm-project/libcxx/tags/RELEASE_360/final libcxx
svn co http://llvm.org/svn/llvm-project/libcxxabi/tags/RELEASE_360/final libcxxabi
cd ..
svn update
At revision X.
--- Hopefully this outputs one line saying "At revision X", but numbers instead of "X". If it downloads more source files, a new revision was released while you were downloading the source code. This is highly unlikely unless you're using trunk (the most up to date, maybe unstable code.) But, if this happens, perform a svn update in the tools/clang, projects/compiler-rt, projects/libcxx, projects/libcxxabi, and again ~/sourceInstallations/llvm_RELEASE_360, until you are fully up to date.
Изградете LLVM и Clang. Това ще продължи известно време. Ако това приключи правилно, последният ред, който ще видите, ще гласи "успех". Нормално е да видите някои съобщения за грешка да превъртат бързо. Винаги е добра идея да изграждате неща в директория, различна от директорията с източник.
mkdir ../llvm_RELEASE_360_build
cd ../llvm_RELEASE_360_build
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/local/bin/gcc -DCMAKE_CXX_COMPILER=/usr/local/bin/g++ ../llvm_RELEASE_360 && make && sudo make install && echo success
--- If your VPS has multiple cores, you can speed up the build by changing the middle part
--- of this line from "&& make &&" to "&& make -j <number of cores> &&".
--- You can see the number of cores your VPS has by running "nproc"
--- If you omit -DCMAKE_BUILD_TYPE=Release, the build defaults to debug. This is great if you need to debug LLVM & Clang itself, but slows down compilation of your end programs considerably.
--- If you omit the references to gcc and g++, it will default to using the older binary versions in /usr/bin/, and will not compile.
Проверете инсталираните версии и вижте местоположението им.
clang --version
May say: clang version 3.6.0 (tags/RELEASE_360/final 237229)
clang++ --version
May say: clang version 3.6.0 (tags/RELEASE_360/final 237229)
which clang
/usr/local/bin/clang
which clang++
/usr/local/bin/clang++
Добавете новите библиотеки към ld (линкерът на GNU).
echo "/usr/local/lib" > usrLocalLib.conf
sudo mv usrLocalLib.conf /etc/ld.so.conf.d/
sudo ldconfig
--- This may say a file or two "is not an ELF file - it has the wrong magic bytes at the start."
--- You may ignore this message. It is silent about the work it successfully completed.
По желание направете програма "здравей свят".
mkdir ~/code
cd ~/code
Create a file main.cpp that says:
#include <iostream>
using namespace std;
int main() {
cout << "Hello world!" << endl;
return 0;
}
--- One way to create this file is to run "vi main.cpp", hitting "i" to enter insert mode,
--- typing the above file, hitting ESC, and hitting "ZZ" to save.
clang++ main.cpp -o main
./main
Hello World!
clang++ -stdlib=libc++ -lc++abi main.cpp -o main
--- This uses Clang's libc++ and libc++abi, instead of the GNU stdlibc++ and stdlibc++abi
./main
Hello world!
Използвайте LLVM & Clang, когато искате.
You could set LLVM & Clang to be your system's default C and C++ compiler by running:
echo "export CC=/usr/local/bin/gcc" >> ~/.bashrc
echo "export CXX=/usr/local/bin/g++" >> ~/.bashrc
source ~/.bashrc
Once and a while there is a difference between Clang and GCC, but it's becoming more and more rare. To be more conservative, you could specify in your code's buildsystem to use LLVM & Clang, but otherwise leave your system's default to the source build of GCC.
По избор възстановите място на твърдия диск. Вашата ~/sourceInstallations
папка ще заема около 11 GB дисково пространство. Вероятно е разумно да запазите папките, тъй като има допълнителни опции за конфигуриране, които може да се наложи да използвате в някакъв момент в бъдещето, и би било по-бързо, ако вече сте направили много. И, както бе споменато по-горе, има допълнителни "подпроекти", които можете да добавите към LLVM & Clang. Освен това процесът на изграждане прави регистрационни файлове, които по-късно можете да проверите и да работите, ако нещо се обърка. Но след като стартирате „sudo make install“ по-рано, инсталираният ви LLVM & Clang не зависи от нищо в тази директория и пространството може да бъде ограничено, така че можете да направите тази стъпка и да си върнете 11GB.
cd ~/
rm -rf sourceInstallations
--- Again, if you can spare the space, you may someday be happy to have left it there.
Вече имате вашия по-нов LLVM & Clang в /usr/local/bin
, вашите по-нови 64-битови LLVM & Clang библиотеки в /usr/local/lib
, а вашите по-нови LLVM & Clang включват файлове в /usr/local/include
.
Използване на различна система? Plesk е собствен контролен панел за уеб хост, който позволява на потребителите да администрират своите лични и/или клиентски уебсайтове, бази данни
Squid е популярна, безплатна програма за Linux, която ви позволява да създадете уеб прокси за препращане. В това ръководство ще видите как да инсталирате Squid на CentOS, за да ви обърне
Въведение Lighttpd е форк на Apache, чиято цел е да бъде много по-малко ресурсоемка. Той е лек, откъдето идва и името му, и е доста лесен за използване. Инсталирайте
VULTR наскоро направи промени от своя страна и вече всичко трябва да работи добре от кутията с активиран NetworkManager. Ако желаете да деактивирате
Icinga2 е мощна система за наблюдение и когато се използва в модел главен-клиент, тя може да замени необходимостта от проверки на базата на NRPE. Главният клиент
Използване на различна система? Apache Cassandra е безплатна система за управление на база данни NoSQL с отворен код, която е проектирана да осигури мащабируемост, висока
Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже
Използване на различна система? Mattermost е самостоятелно хоствана алтернатива с отворен код на Slack SAAS услугата за съобщения. С други думи, с Mattermost, вие ca
Какво ви трябва Vultr VPS с поне 1 GB RAM. SSH достъп (с root/административни привилегии). Стъпка 1: Инсталиране на BungeeCord На първо място
Контролният панел на Plesk разполага с много приятна интеграция за Lets Encrypt. Lets Encrypt е един от единствените доставчици на SSL, които предоставят пълно сертификати
Lets Encrypt е сертифициращ орган, посветен на предоставянето на SSL сертификати безплатно. cPanel изгради чиста интеграция, така че вие и вашият клиент
Използване на различна система? Concrete5 е CMS с отворен код, който предлага много отличителни и полезни функции за подпомагане на редакторите при лесното създаване на съдържание и
Използване на различна система? Review Board е безплатен инструмент с отворен код за преглед на изходен код, документация, изображения и много други. Това е уеб базиран софтуер
В това ръководство ще научите как да настроите HTTP удостоверяване за уеб сървър на Nginx, работещ на CentOS 7. Изисквания За да започнете, ще ви трябва
YOURLS (Your Own URL Shortener) е приложение за съкращаване на URL адреси и анализ на данни с отворен код. В тази статия ще разгледаме процеса на инсталиране
Използване на различна система? Въведение ArangoDB е NoSQL база данни с отворен код с гъвкав модел на данни за документи, графики и ключ-стойности. то е
Въведение Директорията /etc/ играе критична роля в начина, по който функционира една Linux система. Причината за това е, че почти всяка системна конфигурация
Много системни администратори управляват големи количества сървъри. Когато файловете трябва да бъдат достъпни на различни сървъри, влизането във всеки от тях поотделно ок
Този урок ще обхване процеса на инсталиране на сървър за игри Half Life 2 на CentOS 6 System. Стъпка 1: Инсталиране на предпоставките За да настроите ou
Laravel GitScrum или GitScrum е инструмент за производителност с отворен код, предназначен да помогне на екипите за разработка да внедрят методологията на Scrum по подобен начин.
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.
Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.
Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.
Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…
Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.
Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.
Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.
В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.
Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече